mirror of
https://github.com/jkingsman/Remote-Terminal-for-MeshCore.git
synced 2026-05-01 11:02:56 +02:00
74 lines
2.7 KiB
YAML
74 lines
2.7 KiB
YAML
name: Publish AUR package
|
|
|
|
# Pushes the contents of pkg/aur/ to the remoteterm-meshcore AUR repository
|
|
# whenever a GitHub release is published. Can also be triggered manually for
|
|
# testing or out-of-band republishes.
|
|
#
|
|
# Required secrets:
|
|
# AUR_SSH_PRIVATE_KEY Private SSH key registered with the AUR maintainer
|
|
# account that owns the remoteterm-meshcore package.
|
|
# AUR_COMMIT_EMAIL Email used for the AUR git commit identity.
|
|
|
|
on:
|
|
release:
|
|
types: [published]
|
|
workflow_dispatch:
|
|
inputs:
|
|
version:
|
|
description: 'Version to publish (no v prefix, e.g. 3.9.1)'
|
|
required: true
|
|
|
|
concurrency:
|
|
# Serialize publishes so a fast back-to-back release sequence cannot race
|
|
# two pushes against the AUR repo. The later one wins by virtue of being
|
|
# the final state.
|
|
group: publish-aur
|
|
cancel-in-progress: false
|
|
|
|
jobs:
|
|
publish-aur:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Resolve version from event
|
|
id: version
|
|
run: |
|
|
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
|
|
VERSION="${{ inputs.version }}"
|
|
else
|
|
VERSION="${{ github.event.release.tag_name }}"
|
|
fi
|
|
VERSION="${VERSION#v}"
|
|
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
|
|
echo "Publishing AUR package for version $VERSION"
|
|
|
|
- name: Stamp pkgver into PKGBUILD
|
|
run: |
|
|
sed -i "s/^pkgver=.*/pkgver=${{ steps.version.outputs.version }}/" pkg/aur/PKGBUILD
|
|
sed -i "s/^pkgrel=.*/pkgrel=1/" pkg/aur/PKGBUILD
|
|
|
|
- name: Publish to AUR
|
|
uses: KSXGitHub/github-actions-deploy-aur@v4.1.2
|
|
with:
|
|
pkgname: remoteterm-meshcore
|
|
pkgbuild: pkg/aur/PKGBUILD
|
|
assets: |
|
|
pkg/aur/remoteterm-meshcore.install
|
|
pkg/aur/remoteterm-meshcore.service
|
|
pkg/aur/remoteterm-meshcore.sysusers
|
|
pkg/aur/remoteterm-meshcore.tmpfiles
|
|
pkg/aur/remoteterm.env
|
|
commit_username: jackkingsman
|
|
commit_email: ${{ secrets.AUR_COMMIT_EMAIL }}
|
|
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
|
|
commit_message: "Update to ${{ steps.version.outputs.version }}"
|
|
# Recompute sha256sums from the live release tarball + the bundled
|
|
# service/env files. The committed PKGBUILD has SKIP placeholders.
|
|
updpkgsums: true
|
|
# Validate the PKGBUILD parses and sources download, but skip the
|
|
# actual build (which would run uv sync + npm install for several
|
|
# minutes of CI time on every release).
|
|
test: true
|
|
test_flags: --clean --cleanbuild --nodeps --nobuild
|