6bee92d054
Hardcode short hash length to 9 characters in CI and packaging scripts. It is not guaranteed that short hashes are the same length across different platforms or different versions of git. This caused problems with upload/download action names, as the hashes sometimes didn't match. Fix the download artifact name in the Windows installer job and the macOS notarization job to prevent them from failing due to a name mismatch.
85 lines
3.0 KiB
YAML
85 lines
3.0 KiB
YAML
---
|
|
|
|
name: Flatpak
|
|
|
|
on:
|
|
release:
|
|
types: [published]
|
|
branches: [master, 'release/**']
|
|
|
|
env:
|
|
TWITCH_CLIENTID: ${{ secrets.TWITCH_CLIENT_ID }}
|
|
TWITCH_HASH: ${{ secrets.TWITCH_HASH }}
|
|
RESTREAM_CLIENTID: ${{ secrets.RESTREAM_CLIENTID }}
|
|
RESTREAM_HASH: ${{ secrets.RESTREAM_HASH }}
|
|
YOUTUBE_CLIENTID: ${{ secrets.YOUTUBE_CLIENTID }}
|
|
YOUTUBE_CLIENTID_HASH: ${{ secrets.YOUTUBE_CLIENTID_HASH }}
|
|
YOUTUBE_SECRET: ${{ secrets.YOUTUBE_SECRET }}
|
|
YOUTUBE_SECRET_HASH: ${{ secrets.YOUTUBE_SECRET_HASH }}
|
|
|
|
jobs:
|
|
publish:
|
|
name: Publish to Flathub
|
|
runs-on: [ubuntu-latest]
|
|
if: "${{ github.event_name == 'release' && ( matrix.branch != 'stable' || (!contains(github.ref, '-beta') && !contains(github.ref, '-rc')) ) }}"
|
|
env:
|
|
FLATPAK_BUILD_PATH: flatpak_app/files/share
|
|
container:
|
|
image: bilelmoussaoui/flatpak-github-actions:kde-5.15-21.08
|
|
options: --privileged
|
|
strategy:
|
|
matrix:
|
|
branch: [stable, beta]
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: 'recursive'
|
|
|
|
- name: 'Setup build environment'
|
|
id: setup
|
|
run: |
|
|
echo "::set-output name=commitHash::$(git rev-parse --short=9 HEAD)"
|
|
|
|
- name: Build Flatpak Manifest
|
|
uses: bilelmoussaoui/flatpak-github-actions/flatpak-builder@master
|
|
with:
|
|
bundle: obs-studio-${{ steps.setup.outputs.commitHash }}.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 }}
|
|
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 }}
|
|
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
|
|
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: matrix.branch == 'beta'
|
|
with:
|
|
flat-manager-url: https://hub.flathub.org/
|
|
repository: beta
|
|
token: ${{ secrets.FLATHUB_BETA_TOKEN }}
|
|
|
|
- name: Publish to Flathub
|
|
uses: bilelmoussaoui/flatpak-github-actions/flat-manager@v4
|
|
if: matrix.branch == 'stable'
|
|
with:
|
|
flat-manager-url: https://hub.flathub.org/
|
|
repository: stable
|
|
token: ${{ secrets.FLATHUB_TOKEN }}
|