Arch Builder INIT
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
# AyuGram Arch Builder for Gitea Actions
|
||||
|
||||
This repository automatically checks `AyuGram/AyuGramDesktop` GitHub releases,
|
||||
builds the latest release as a native Arch Linux package, validates the package,
|
||||
creates an Arch repository database, and publishes the package/database to a
|
||||
Nexspence Raw Hosted repository.
|
||||
|
||||
## What it does
|
||||
|
||||
1. Runs from Gitea Actions on a two-day schedule or manually.
|
||||
2. Queries the GitHub Releases API for the latest AyuGram release.
|
||||
3. Uses the official `AyuGramDesktop-<version>-full.tar.gz` release archive.
|
||||
4. Resolves the exact `tdlib` submodule commit from the upstream release tag.
|
||||
5. Builds on `archlinux:latest` with `makepkg`.
|
||||
6. Uses packaged Arch libraries where appropriate.
|
||||
7. Runs `namcap`, package metadata checks, ELF dependency checks and a smoke test.
|
||||
8. Creates `noko-arch.db.tar.zst` with `repo-add`.
|
||||
9. Uploads the package and repository database files to Nexspence Raw.
|
||||
10. Records the published version in `.current-version`.
|
||||
|
||||
## Required Gitea secrets
|
||||
|
||||
- `NEXSPENCE_URL` - for example `https://repos.noko.tan`
|
||||
- `NEXSPENCE_TOKEN` - an `nxs_...` API token
|
||||
- `NEXSPENCE_REPOSITORY` - `noko-arch`
|
||||
|
||||
Optional:
|
||||
|
||||
- `TDESKTOP_API_ID`
|
||||
- `TDESKTOP_API_HASH`
|
||||
|
||||
The default API credentials are the same public build credentials used by
|
||||
several current Linux packaging recipes. For a production/private distribution,
|
||||
set your own Telegram API credentials as Gitea secrets.
|
||||
|
||||
## Arch client
|
||||
|
||||
```ini
|
||||
[noko-arch]
|
||||
Server = https://repos.noko.tan/repository/noko-arch/$arch
|
||||
SigLevel = Never
|
||||
```
|
||||
|
||||
Then:
|
||||
|
||||
```bash
|
||||
sudo pacman -Sy
|
||||
sudo pacman -S ayugram-desktop
|
||||
```
|
||||
|
||||
The repository is intentionally unsigned in this first version. Add repository
|
||||
signing only after the upload flow is confirmed working.
|
||||
|
||||
## Runner
|
||||
|
||||
The workflow uses a job-level Arch container, so the Gitea runner needs Docker
|
||||
execution and a label such as `ubuntu-latest`. Gitea recommends Docker-backed
|
||||
runner jobs for isolation.
|
||||
|
||||
|
||||
## Important: `libtg_owt`
|
||||
|
||||
`libtg_owt` is not necessarily present in the official Arch repositories. The
|
||||
workflow therefore expects your runner environment (or an internal Arch repo)
|
||||
to provide it. If `pacman -S libtg_owt` fails, build/install the AUR
|
||||
`libtg_owt` package on the runner or expose it through your own `noko-arch`
|
||||
repository before running this workflow.
|
||||
|
||||
Do not replace `libtg_owt` with a random prebuilt binary: it is part of the
|
||||
native build toolchain.
|
||||
Reference in New Issue
Block a user