On every published GitHub Release, .github/workflows/release.yml builds Arch Linux packages (asusctl and rog-control-center) from distro-packaging/PKGBUILD and attaches them as release assets.
The workflow runs on release: types: [published] events as well as non-release triggers such as workflow_dispatch. For release events, packages are attached directly to the GitHub Release (requiring permissions: contents: write); for non-release triggers, packages are uploaded as build artifacts.
- Runs in an
archlinux/archlinux:base-develcontainer onubuntu-latest. - Installs makedepends (rust, llvm, clang, at-spi2-core, cairo, gtk3) and creates a non-root
builderuser, sincemakepkgrefuses to run as root. - Determines
pkgrel: computespkgverfromgit describe --long --tags, fetches the existingogc.db.tar.gzfromBUCKET_PUBLIC_URL, and bumpspkgreltomax(existing) + 1if the samepkgveris already published for either package; otherwise defaults to1. - Builds via
makepkg -s --noconfirmwithCI_BUILD=1,_gitref=<tag commit>, andpkgrel=$PKGREL. - Uploads
*.pkg.tar.zstto the release usingsoftprops/action-gh-release@v3. For non-release workflow triggers (such asworkflow_dispatch), built package files are renamed with run metadata prior to uploading as build artifacts.
For release events (release: types: [published]), the workflow produces and attaches two packages to the GitHub Release:
asusctl-<pkgver>-<pkgrel>-x86_64.pkg.tar.zstrog-control-center-<pkgver>-<pkgrel>-x86_64.pkg.tar.zst
For non-release events (such as workflow_dispatch), the workflow uploads uniquely named packages as build artifacts:
asusctl-<pkgver>-<pkgrel>-x86_64-run<run_number>.<run_attempt>.pkg.tar.zstrog-control-center-<pkgver>-<pkgrel>-x86_64-run<run_number>.<run_attempt>.pkg.tar.zst
| Name | Kind | Required | Purpose |
|---|---|---|---|
BUCKET_PUBLIC_URL |
Repository variable (vars.*) |
No | Public URL hosting ogc.db.tar.gz. Used to detect the existing pkgrel for re-releases. If unset or unreachable, pkgrel defaults to 1 and the workflow still succeeds. |
GITHUB_TOKEN |
Auto-provided secret | Yes (automatic) | Used by softprops/action-gh-release to attach assets. No manual setup; the workflow's permissions: contents: write grants the needed scope. |
No other secrets or variables are required by this workflow.
cd distro-packaging && makepkg -sCI uses the same PKGBUILD with CI_BUILD=1 and an explicit _gitref pinned to the release tag's commit.