lutris/.github/workflows/publish-lutris-ppa.yml

43 lines
1.7 KiB
YAML

# Handles publishing Lutris builds to the Lutris Ubuntu PPAs. This
# workflow is triggered when a release or prerelease is published,
# checks out the tag associated with that release, builds a debian
# source package, and then pushes that to the Ubuntu Launchpad.net PPA
# where it is then built & published on their servers.
name: Publish Lutris PPA
on:
# See below for details about the 'release' event.
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#release
release:
types: [released,prereleased]
# Requires that PPA_GPG_PRIVATE_KEY & PPA_GPG_PASSPHRASE be defined
# as repository secrets and that PPA_RELEASE_URI & PPA_STAGING_URI
# be defined as repository variables.
# Ex. PPA_GPG_PRIVATE_KEY: (( output of `gpg -a --export-secret-key <key_id>` ))
# Ex. PPA_GPG_PASSPHRASE: (( password used to export the above key ))
# Ex. PPA_STAGING_URI: ppa:lutris-team/lutris-staging
# Ex. PPA_RELEASE_URI: ppa:lutris-team/lutris
#
# The only thing that really differs between the release and staging
# builds is the target PPA_URI.
jobs:
# Only build the release PPA when the event is not a prerelease.
release-ppa:
if: github.event.release.prerelease == false
uses: ./.github/workflows/publish-ppa.yml
with:
PPA_URI: ${{ vars.PPA_RELEASE_URI }}
secrets:
PPA_GPG_PRIVATE_KEY: ${{ secrets.PPA_GPG_PRIVATE_KEY }}
PPA_GPG_PASSPHRASE: ${{ secrets.PPA_GPG_PASSPHRASE }}
# Push all builds out to the staging PPA.
staging-ppa:
uses: ./.github/workflows/publish-ppa.yml
with:
PPA_URI: ${{ vars.PPA_STAGING_URI }}
secrets:
PPA_GPG_PRIVATE_KEY: ${{ secrets.PPA_GPG_PRIVATE_KEY }}
PPA_GPG_PASSPHRASE: ${{ secrets.PPA_GPG_PASSPHRASE }}