name: GTK RPM Release on: push: tags: - 'release/gtk/*' permissions: code: read releases: write packages: write env: RPM_DISTRO_NAME: fedora RPM_DISTRO_VERSION: '43' jobs: build-gtk-rpm-release: runs-on: ubuntu-latest container: image: fedora:43 steps: # The default Gitea runner image is Debian-based. Build the GTK RPM in a # Fedora container so rpmbuild and the RPM build dependencies match the # existing local packaging environment. - name: Install system dependencies run: | set -eu dnf install -y \ ca-certificates \ curl \ gcc \ git \ ImageMagick \ libadwaita-devel \ libgee-devel \ libsecret-devel \ make \ meson \ ninja-build \ nodejs \ pkgconfig \ python3 \ redhat-rpm-config \ rpm-build \ rpmdevtools \ gtk4-devel \ glib2-devel \ vala dnf clean all rpmdev-setuptree - name: Check out repository code uses: actions/checkout@v3 with: fetch-depth: 0 - name: Build GTK RPMs working-directory: gtk run: make rpm - name: Prepare release assets env: RELEASE_TAG: ${{ github.ref_name }} TAG_PREFIX: release/gtk/ ASSETS_DIR: ${{ gitea.workspace }}/release-assets/gtk RPM_BINARY_DIR: /root/rpmbuild/RPMS RPM_BINARY_PATTERN_PREFIX: kordophone- RPM_BINARY_EXCLUDE_PATTERNS: | *-debuginfo-* *-debugsource-* RPM_PACKAGE_GROUP: ${{ vars.RPM_PACKAGE_GROUP }} RPM_SOURCE_DIR: /root/rpmbuild/SRPMS RPM_SOURCE_PATTERN_PREFIX: kordophone- RPM_DISTRO_NAME: ${{ env.RPM_DISTRO_NAME }} RPM_DISTRO_VERSION: ${{ env.RPM_DISTRO_VERSION }} run: ./.gitea/scripts/prepare-rpm-release-assets.sh - name: Upload RPMs to Gitea package registry env: GITEA_SERVER_URL: ${{ gitea.server_url }} GITEA_REPOSITORY_OWNER: ${{ gitea.repository_owner }} RPM_PACKAGE_GROUP: ${{ env.RPM_PACKAGE_GROUP }} RPM_PACKAGE_TOKEN: ${{ secrets.RPM_PACKAGE_TOKEN }} RPM_PACKAGE_USERNAME: ${{ vars.RPM_PACKAGE_USERNAME }} RELEASE_ASSETS_DIR: ${{ env.RELEASE_ASSETS_DIR }} run: ./.gitea/scripts/upload-rpm-packages.sh - name: Create Gitea release uses: https://gitea.com/actions/gitea-release-action@v1 with: name: Kordophone GTK ${{ env.RELEASE_VERSION }} tag_name: ${{ github.ref_name }} target_commitish: ${{ github.sha }} files: | ${{ env.RELEASE_ASSETS_DIR }}/*.rpm