2.7 KiB
Ratune Arch Builder for Gitea Actions
Builds the latest official Ratune GitHub
Release as a native Arch Linux package (ratune), tests it, and publishes it
to the Nexspence Raw Hosted repository noko-arch.
Pipeline
- Runs every two days or via Actions → Build and Publish Ratune → Run workflow.
- Queries GitHub's
releases/latestAPI and compares the tag with.current-version. - Updates
pkgverinPKGBUILDand builds withmakepkginsidearchlinux:latest. - Runs
cargo test --workspace, package metadata checks,namcap, ELF dependency checks, andratune --version. - Creates an Arch repository database with
repo-add. - Uploads the package and database objects to Nexspence using HTTP
PUT. - Records the published tag in
.current-version.
Gitea secrets
Configure these repository Actions secrets:
NEXSPENCE_URL— Nexspence base URL, e.g.https://repos.noko.tanNEXSPENCE_TOKEN— Nexspence bearer/API token (nxs_...in the current setup)
The workflow hardcodes NEXSPENCE_REPOSITORY=noko-arch as requested. The publish
script also supports the environment variable for manual runs.
Arch client configuration
Add this to /etc/pacman.conf:
[noko-arch]
Server = https://repos.noko.tan/repository/noko-arch/$arch
SigLevel = Never
Then install:
sudo pacman -Sy
sudo pacman -S ratune
The repository is unsigned, matching the current ayugram-builder setup. SigLevel = Never disables package signature verification for this repository; consider adding
package signing once the upload path is confirmed.
Runtime dependencies
The package declares alsa-lib, dbus, gcc-libs, and glibc. The application
needs ALSA and D-Bus libraries at runtime. pkgconf, rust, and base-devel are
build dependencies.
Local build
On an Arch Linux host or inside the supplied Docker image:
sudo pacman -S --needed base-devel git curl jq namcap pacman-contrib \
rust pkgconf alsa-lib dbus zstd
./scripts/check-release.sh
./scripts/build.sh 0.17.0 v0.17.0
./scripts/test.sh
For local manual publishing, set NEXSPENCE_URL, NEXSPENCE_TOKEN, and
NEXSPENCE_REPOSITORY=noko-arch, then run ./scripts/publish.sh.
Notes
.current-versionis updated only after successful publication.- The workflow uses
actions/checkout@v4; ensure your Gitea Actions runner can resolve that action (or replace it with your existing internal checkout action). - The package is built from the official release tag's source archive, not from an arbitrary branch head.
sha256sums=('SKIP')is intentional for this first dynamic-release scaffold; for stricter supply-chain verification, add release-specific checksum verification before publishing.