shorter docs
All checks were successful
Build Alpine Packages / build-and-publish (v3.23, 3.23) (push) Successful in 25m36s
All checks were successful
Build Alpine Packages / build-and-publish (v3.23, 3.23) (push) Successful in 25m36s
This commit is contained in:
68
README.md
68
README.md
@@ -2,17 +2,14 @@
|
|||||||
|
|
||||||
Alpine stable packaging for internal packages.
|
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
|
```text
|
||||||
https://code.factoring.digital/api/packages/public/alpine/v3.23/alpine-packages
|
https://code.factoring.digital/api/packages/public/alpine/v3.23/alpine-packages
|
||||||
```
|
```
|
||||||
|
|
||||||
## Available Packages
|
## Available Packages
|
||||||
|
|
||||||
- [SeaweedFS](packaging/alpine/local/seaweedfs/README.md): `seaweedfs` plus OpenRC role, docs, and completion subpackages.
|
- [SeaweedFS](packaging/alpine/local/seaweedfs/README.md): `seaweedfs`
|
||||||
- [GreptimeDB](packaging/alpine/local/greptimedb/README.md): `greptimedb` plus OpenRC service subpackages and default configs.
|
- [GreptimeDB](packaging/alpine/local/greptimedb/README.md): `greptimedb`
|
||||||
|
|
||||||
## Use In Production
|
## Use In Production
|
||||||
|
|
||||||
@@ -25,9 +22,7 @@ cd /etc/apk/keys
|
|||||||
curl -fsSLOJ https://code.factoring.digital/api/packages/public/alpine/key
|
curl -fsSLOJ https://code.factoring.digital/api/packages/public/alpine/key
|
||||||
```
|
```
|
||||||
|
|
||||||
Keep the filename returned by Gitea. Alpine matches repository signatures by key
|
Keep the filename returned by Gitea. Alpine matches repository signatures by key filename, otherwise `apk update` reports `UNTRUSTED signature`.
|
||||||
filename, so saving the key under another name makes `apk update` report
|
|
||||||
`UNTRUSTED signature`.
|
|
||||||
|
|
||||||
Add the stable package repository:
|
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
|
https://<user>:<token>@code.factoring.digital/api/packages/public/alpine/v3.23/alpine-packages
|
||||||
```
|
```
|
||||||
|
|
||||||
### Install Packages
|
## Contribution
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
### Package Layout
|
### Package Layout
|
||||||
|
|
||||||
@@ -88,14 +76,26 @@ Signing keys and distfiles are cached under:
|
|||||||
### Build Commands
|
### Build Commands
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
mise run apk:lint
|
$ mise tasks
|
||||||
mise run apk:build
|
Name Description
|
||||||
mise run apk:build-all
|
apk:build Build the Alpine package in Docker for the default architecture
|
||||||
mise run apk:packages
|
apk:build-aarch64 Build the Alpine package in Docker for aarch64
|
||||||
mise run apk:smoke
|
apk:build-all Build the Alpine package in Docker for all configured architectures
|
||||||
mise run apk:test-install
|
apk:build-x86_64 Build the Alpine package in Docker for x86_64
|
||||||
mise run apk:test-shell
|
apk:checksum Refresh APKBUILD checksums in Docker
|
||||||
mise run apk:publish-check
|
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
|
`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
|
mise run apk:publish-gitea
|
||||||
```
|
```
|
||||||
|
|
||||||
### Alpine Package Rules
|
### Checklist
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
Before opening a PR, run:
|
Before opening a PR, run:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user