shorter docs
All checks were successful
Build Alpine Packages / build-and-publish (v3.23, 3.23) (push) Successful in 25m36s

This commit is contained in:
Joachim Schlöffel
2026-06-09 21:48:32 +02:00
parent b329cd0ccc
commit 4efe12f250

View File

@@ -2,17 +2,14 @@
Alpine stable packaging for internal packages.
This repository builds signed `x86_64` and `aarch64` APKs and publishes them to
the Gitea Alpine package registry:
```text
https://code.factoring.digital/api/packages/public/alpine/v3.23/alpine-packages
```
## Available Packages
- [SeaweedFS](packaging/alpine/local/seaweedfs/README.md): `seaweedfs` plus OpenRC role, docs, and completion subpackages.
- [GreptimeDB](packaging/alpine/local/greptimedb/README.md): `greptimedb` plus OpenRC service subpackages and default configs.
- [SeaweedFS](packaging/alpine/local/seaweedfs/README.md): `seaweedfs`
- [GreptimeDB](packaging/alpine/local/greptimedb/README.md): `greptimedb`
## Use In Production
@@ -25,9 +22,7 @@ cd /etc/apk/keys
curl -fsSLOJ https://code.factoring.digital/api/packages/public/alpine/key
```
Keep the filename returned by Gitea. Alpine matches repository signatures by key
filename, so saving the key under another name makes `apk update` report
`UNTRUSTED signature`.
Keep the filename returned by Gitea. Alpine matches repository signatures by key filename, otherwise `apk update` reports `UNTRUSTED signature`.
Add the stable package repository:
@@ -46,14 +41,7 @@ repository URL:
https://<user>:<token>@code.factoring.digital/api/packages/public/alpine/v3.23/alpine-packages
```
### Install Packages
Package-specific install and service guidance lives next to each `APKBUILD`:
- [SeaweedFS](packaging/alpine/local/seaweedfs/README.md)
- [GreptimeDB](packaging/alpine/local/greptimedb/README.md)
## Background And Contribution
## Contribution
### Package Layout
@@ -88,14 +76,26 @@ Signing keys and distfiles are cached under:
### Build Commands
```sh
mise run apk:lint
mise run apk:build
mise run apk:build-all
mise run apk:packages
mise run apk:smoke
mise run apk:test-install
mise run apk:test-shell
mise run apk:publish-check
$ mise tasks
Name Description
apk:build Build the Alpine package in Docker for the default architecture
apk:build-aarch64 Build the Alpine package in Docker for aarch64
apk:build-all Build the Alpine package in Docker for all configured architectures
apk:build-x86_64 Build the Alpine package in Docker for x86_64
apk:checksum Refresh APKBUILD checksums in Docker
apk:ci-build Build all configured Alpine packages directly in the current Alpine...
apk:ci-smoke Install-test built packages directly in the current Alpine environment
apk:clean Remove generated Alpine package build outputs
apk:lint Run Alpine APKBUILD lint in Docker
apk:packages List built Alpine packages and dependencies
apk:publish-check Run lint, multi-arch build, package listing, and smoke test
apk:publish-gitea Publish built packages to the Gitea Alpine package registry
apk:shell Open an Alpine package build shell in Docker
apk:smoke Install-test built packages from the local repository in Docker
apk:test-install Test README installation instructions in a fresh Alpine container
apk:test-shell Open an Alpine shell with the current local package build installed
apk:update-generated Refresh packaged upstream examples and shell completions
gitea-workflow-build Run the Gitea build workflow locally through act as a pull_request event
```
`apk:build` targets `x86_64` by default. Multi-arch builds target `x86_64` and
@@ -237,25 +237,7 @@ PACKAGE_TOKEN=... \
mise run apk:publish-gitea
```
### Alpine Package Rules
Do:
- Keep local package sources next to the `APKBUILD`.
- Put full upstream scaffolds in `/usr/share/doc/seaweedfs/examples/`, not active `/etc`.
- Install only the OpenRC role packages needed on each node.
- Keep `/etc/conf.d` defaults short and production-neutral.
- Increment `pkgrel` for package-only changes; reset it when `pkgver` changes.
- Run `mise run apk:publish-check` before opening a PR.
Don't:
- Edit generated `src/`, `pkg/`, or `packages/` output.
- Hand-edit checksum lines when `abuild checksum` can update them.
- Install all OpenRC roles by default.
- Put long upstream examples into active `/etc` defaults.
### Practical PR Checklist
### Checklist
Before opening a PR, run: