diff --git a/.github/workflows/flatpak.yml b/.github/workflows/flatpak.yml index baec2a982..a27df29fc 100644 --- a/.github/workflows/flatpak.yml +++ b/.github/workflows/flatpak.yml @@ -67,39 +67,55 @@ jobs: container: image: bilelmoussaoui/flatpak-github-actions:kde-5.15-21.08 options: --privileged + strategy: + matrix: + branch: [stable, beta] steps: + - name: Check if job should run + id: should_run + if: "${{ matrix.branch != 'stable' || (!contains(github.ref, '-beta') && !contains(github.ref, '-rc')) }}" + run: | + echo "::set-output name=should_run::yes" + - name: Checkout uses: actions/checkout@v2.3.3 + if: steps.should_run.outputs.should_run == 'yes' with: submodules: 'recursive' - name: Build Flatpak Manifest uses: bilelmoussaoui/flatpak-github-actions/flatpak-builder@master + if: steps.should_run.outputs.should_run == 'yes' with: bundle: obs-studio-${{ github.sha }}.flatpak manifest-path: CI/flatpak/com.obsproject.Studio.json cache-key: flatpak-builder-${{ github.sha }} mirror-screenshots-url: https://dl.flathub.org/repo/screenshots + branch: ${{ matrix.branch }} - name: Validate AppStream shell: bash working-directory: ${{ env.FLATPAK_BUILD_PATH }} + if: steps.should_run.outputs.should_run == 'yes' run: | appstream-util validate appdata/com.obsproject.Studio.appdata.xml - name: Verify icon and metadata in app-info shell: bash working-directory: ${{ env.FLATPAK_BUILD_PATH }} + if: steps.should_run.outputs.should_run == 'yes' run: | test -f app-info/icons/flatpak/128x128/com.obsproject.Studio.png || { echo "Missing 128x128 icon in app-info" ; exit 1; } test -f app-info/xmls/com.obsproject.Studio.xml.gz || { echo "Missing com.obsproject.Studio.xml.gz in app-info" ; exit 1; } - name: Commit screenshots to the OSTree repository + if: steps.should_run.outputs.should_run == 'yes' run: | ostree commit --repo=repo --canonical-permissions --branch=screenshots/x86_64 flatpak_app/screenshots - name: Publish to Flathub Beta uses: bilelmoussaoui/flatpak-github-actions/flat-manager@v4 + if: steps.should_run.outputs.should_run == 'yes' && matrix.branch == 'beta' with: flat-manager-url: https://hub.flathub.org/ repository: beta @@ -107,7 +123,7 @@ jobs: - name: Publish to Flathub uses: bilelmoussaoui/flatpak-github-actions/flat-manager@v4 - if: "!contains(github.ref, '-beta') && !contains(github.ref, '-rc')" + if: steps.should_run.outputs.should_run == 'yes' && matrix.branch == 'stable' with: flat-manager-url: https://hub.flathub.org/ repository: stable