ci: release using gh cli #6
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
push: | |
branches: | |
- main | |
tags: | |
- v* | |
concurrency: | |
group: '${{ github.workflow }} @ ${{ github.ref }}' | |
cancel-in-progress: false | |
jobs: | |
release: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Checkout Flatpak repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
ref: flatpak-repository | |
path: repo | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.12 | |
- name: Setup GPG | |
id: gpg | |
uses: crazy-max/ghaction-import-gpg@v6 | |
with: | |
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} | |
git_config_global: true | |
git_user_signingkey: true | |
git_commit_gpgsign: true | |
- name: Install dependencies | |
run: | | |
DEBIAN_FRONTEND=noninteractive sudo apt-get update -y | |
sudo apt-get install --no-install-recommends -y \ | |
icoutils \ | |
flatpak \ | |
flatpak-builder \ | |
elfutils | |
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo | |
- name: Cache Flatpak builder | |
id: cache-flatpak-builder | |
uses: actions/cache@v3 | |
with: | |
path: .flatpak-builder | |
key: ${{ runner.os }}-flatpak-builder-${{ hashFiles('com.jagex.Launcher.yaml') }} | |
- name: Build Flatpak | |
run: | | |
./build.sh sign | |
# Now we have a com.jagex.Launcher.flatpak file in the root of the repository and an updated repo/ repository. | |
- name: Create release | |
id: create-release | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
tag: ${{ github.run_id }}${{ github.run_attempt }} | |
run: | | |
gh release create "$tag" \ | |
--repo="$GITHUB_REPOSITORY" \ | |
--title="Release $tag" \ | |
--generate-notes | |
echo 'tag=$tag' >> $GITHUB_OUTPUT | |
- name: Upload Flatpak | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
tag: ${{ steps.create-release.outputs.tag }} | |
run: | |
gh release upload "$tag" com.jagex.Launcher.flatpak \ | |
--repo="$GITHUB_REPOSITORY" | |
- name: Push Flatpak repository | |
run: | | |
git config --global user.name "GitHub Actions" | |
git config --global user.email 'bot@noreply.github.com' | |
- name: Commit changes to databases | |
run: | | |
cd repo | |
git add -A | |
git commit --signoff -m "Update com.jagex.Launcher" | |
git push | |
env: | |
GIT_AUTHOR_NAME: ${{ steps.import-gpg.outputs.name }} | |
GIT_AUTHOR_EMAIL: ${{ steps.import-gpg.outputs.email }} | |
GIT_COMMITTER_NAME: ${{ steps.import-gpg.outputs.name }} | |
GIT_COMMITTER_EMAIL: ${{ steps.import-gpg.outputs.email }} |