CI: Split Flatpak beta and stable branches
We currently publish the same build from the same branch to Flathub. However, soon we'll need to build the Flatpak manifest in different branches, and publish them in different repositories. Prepare for that by splitting the publish step in two: one for Flathub, and another for Flathub Beta. Do that using a matrix strategy. Skip building and publishing stable releases when it's a beta or RC release by setting an output variable in the first job.
This commit is contained in:
parent
2c7bc286e6
commit
36f06e07c6
18
.github/workflows/flatpak.yml
vendored
18
.github/workflows/flatpak.yml
vendored
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user