diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..d129dba --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,71 @@ +--- + +name: Release + +on: + pull_request: + branches: [master] + types: [closed] + +jobs: + create_release: + name: Create Release + runs-on: ubuntu-latest + + if: github.event.pull_request.merged == true && true == contains(join(github.event.pull_request.labels.*.name), 'Release') + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Release + uses: elementary/actions/release@master + env: + GIT_USER_TOKEN: "${{ secrets.GIT_USER_TOKEN }}" + GIT_USER_NAME: "elementaryBot" + GIT_USER_EMAIL: "builds@elementary.io" + with: + release_branch: 'noble' + + deploy_flatpak: + name: Deploy Flatpak (${{ matrix.configuration.arch }}) + runs-on: ${{ matrix.configuration.runs-on }} + + if: github.event.pull_request.merged == true && true == contains(join(github.event.pull_request.labels.*.name), 'Release') + + strategy: + matrix: + configuration: + - arch: x86_64 + runs-on: ubuntu-latest + - arch: aarch64 + runs-on: ubuntu-24.04-arm + # Don't fail the whole workflow if one architecture fails + fail-fast: false + + container: + image: ghcr.io/elementary/flatpak-platform/runtime:8.2-${{ matrix.configuration.arch }} + options: --privileged + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Build + uses: flatpak/flatpak-github-actions/flatpak-builder@v6.5 + with: + bundle: atlas.flatpak + manifest-path: io.elementary.atlas.yml + run-tests: true + repository-name: appcenter + repository-url: https://flatpak.elementary.io/repo.flatpakrepo + cache-key: "flatpak-builder-${{ github.sha }}" + branch: stable + arch: ${{ matrix.configuration.arch }} + + - name: Deploy + uses: flatpak/flatpak-github-actions/flat-manager@v6.5 + with: + repository: appcenter + flat-manager-url: https://flatpak-api.elementary.io + token: ${{ secrets.FLAT_MANAGER_TOKEN }}