1
Build and CI
clem edited this page 2026-08-27 15:12:07 +00:00
Build and CI
Both workflows run on a docker runner using the archlinux:latest
container.
build.yml — every push to main
pacman -Syubase tooling + package dependencies.- Checkout.
curlthe.runfrom the generic registry usingpkgversourced fromPKGBUILD:.../api/packages/software/generic/ida-installer/<pkgver>/<installer>- Build as an unprivileged
builderuser:makepkg -f --noconfirm. - Install the resulting
.pkg.tar.zstinto a fresh pacman root at/mnt/testrootwithpacman -U(this resolves and pulls real dependencies, so an unresolvable dep fails the job). - Smoke checks:
/opt/ida-pro/idaexecutable,/usr/bin/idasymlink,.desktopfile present.
No release, no registry push.
release.yml — on any tag push (*)
Same build + install test, plus:
- Tag check —
pkgver-pkgrelsourced fromPKGBUILDmust equal the tag name (leadingvstripped). Mismatch fails the job. - Changelog —
git-cliff --strip allover<previous-tag>..<this-tag>(previous tag viagit describe --tags --abbrev=0 <tag>^) intoRELEASE_NOTES.md. - Release —
POST /api/v1/repos/<repo>/releaseswith the notes; reuses the release on HTTP 409. Uploads the.pkg.tar.zstas an asset. - Arch registry —
PUTthe package to.../api/packages/software/arch/ida-bin.
Required Actions secrets
| Secret | Used for |
|---|---|
PKG_TOKEN |
Authorization: token on the release API + Arch registry auth |
PKG_USER |
username for the Arch registry PUT |
Running a build locally
# fetch the matching installer next to PKGBUILD, named as in $_installer
makepkg -f
Needs fakechroot, nodejs, base-devel.