mirror of https://github.com/PCSX2/pcsx2.git
50 lines
1.9 KiB
YAML
50 lines
1.9 KiB
YAML
name: 📦 Publish Flathub Release
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "0 0 * * *" # Every day at 12am UTC.
|
|
workflow_dispatch: # As well as manually.
|
|
|
|
jobs:
|
|
check:
|
|
if: github.repository == 'PCSX2/pcsx2'
|
|
name: "Check if release is needed"
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
PCSX2_RELEASE: ${{ steps.getinfo.outputs.PCSX2_RELEASE }}
|
|
FLATHUB_RELEASE: ${{ steps.getinfo.outputs.FLATHUB_RELEASE }}
|
|
steps:
|
|
- name: Get latest tag and Flathub release
|
|
id: getinfo
|
|
env:
|
|
GH_TOKEN: ${{ github.token }}
|
|
run: |
|
|
PCSX2_RELEASE=$(gh api -H 'Accept: application/vnd.github+json' -H 'X-GitHub-Api-Version: 2022-11-28' /repos/PCSX2/pcsx2/releases | jq -r '.[0].tag_name')
|
|
FLATHUB_RELEASE=$(curl -L -s https://flathub.org/api/v2/appstream/net.pcsx2.PCSX2 | jq -r '.releases | max_by(.version) | .version')
|
|
echo "Latest PCSX2 release is: '${PCSX2_RELEASE}'"
|
|
echo "Latest Flathub release is: '${FLATHUB_RELEASE}'"
|
|
PCSX2_RELEASE=$(echo $PCSX2_RELEASE | sed 's/[^0-9]*//g')
|
|
FLATHUB_RELEASE=$(echo $FLATHUB_RELEASE | sed 's/[^0-9]*//g')
|
|
echo "PCSX2_RELEASE=${PCSX2_RELEASE}" >> "$GITHUB_OUTPUT"
|
|
echo "FLATHUB_RELEASE=${FLATHUB_RELEASE}" >> "$GITHUB_OUTPUT"
|
|
|
|
build:
|
|
needs: check
|
|
# outputs are automatically compared as strings. This doesn't work in our favour
|
|
# Use fromJson() to convert them to proper integers...
|
|
# see: https://github.com/github/docs/pull/25870
|
|
# and: https://github.com/orgs/community/discussions/57480
|
|
#if: fromJson(needs.check.outputs.FLATHUB_RELEASE) < fromJson(needs.check.outputs.PCSX2_RELEASE)
|
|
name: "Build and publish Flatpak"
|
|
uses: ./.github/workflows/linux_build_flatpak.yml
|
|
with:
|
|
jobName: "Qt"
|
|
artifactPrefixName: "PCSX2-linux-Qt-x64-flatpak"
|
|
compiler: clang
|
|
cmakeflags: ""
|
|
publish: true
|
|
branch: stable
|
|
fetchTags: true
|
|
secrets: inherit
|
|
|