2026-10-26 22:54:24 +03:00
2026-10-26 22:54:24 +03:00
2026-10-26 22:54:24 +03:00
2026-10-26 22:54:24 +03:00
2026-10-26 22:54:24 +03:00
2026-10-26 22:54:24 +03:00
2026-10-26 22:54:24 +03:00
2026-10-26 22:54:24 +03:00
2026-10-26 22:50:57 +03:00

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

  1. Runs every two days or via Actions → Build and Publish Ratune → Run workflow.
  2. Queries GitHub's releases/latest API and compares the tag with .current-version.
  3. Updates pkgver in PKGBUILD and builds with makepkg inside archlinux:latest.
  4. Runs cargo test --workspace, package metadata checks, namcap, ELF dependency checks, and ratune --version.
  5. Creates an Arch repository database with repo-add.
  6. Uploads the package and database objects to Nexspence using HTTP PUT.
  7. Records the published tag in .current-version.

Gitea secrets

Configure these repository Actions secrets:

  • NEXSPENCE_URL — Nexspence base URL, e.g. https://repos.noko.tan
  • NEXSPENCE_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-version is 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.
S
Description
No description provided
Readme
56 KiB
Languages
Shell 96.8%
Dockerfile 3.2%