Builds and publishes APT packages for omakasui/apt-omakasui.
Keys in versions.yml use short names without the omakasui- prefix. The installed name is set by produces[] in package.yml.
One entry per package:
package-name:
version: "1.2.3"
depends_on: []
stable_release: false
external: false
frozen_suites: []
auto_update: true| Field | Default | Description |
|---|---|---|
version |
required | Upstream version to build. |
depends_on |
[] |
Sibling keys needed at build time. |
stable_release |
false |
Set to true to also publish to the stable channel. |
external |
false |
Set to true if the package is built in build-apt-packages rather than here. |
frozen_suites |
[] |
Suites to skip. |
auto_update |
true |
Set to false to skip the periodic upstream check. |
type: repackage
arch: all
layer_cache: false
produces: [omakasui-example]
distros: [debian13, ubuntu2404]| Field | Default | Description |
|---|---|---|
type |
build |
Either build or repackage. See below. |
arch |
any |
Use all for amd64-only packages. |
layer_cache |
false |
Set to true to cache Docker layers in CI. See below. |
produces |
required | Installed names. |
distros |
required | Target distributions. |
build: the Dockerfile stages files under/output/staged/, assembled frompackages/<name>/debian/.repackage: the Dockerfile writes complete.debfiles directly to/output/, and control fields live in the cloned repo's owndebian/control.
ARG VERSIONis required in every Dockerfile.BASE_IMAGE,SUITEandTARGETARCHare also available.
Set layer_cache: true only when the Dockerfile pins its source to VERSION, for example git clone --branch "v${VERSION}". Otherwise a cached clone layer would freeze the upstream source indefinitely.
Upstream source per auto-updated package, read by scripts/check-updates.sh:
package-name:
upstream: "github:owner/repo"
tag_prefix: "v"
use_tags: true| Field | Description |
|---|---|
upstream |
Source in the form github:owner/repo, codeberg:owner/repo or sibling:owner/repo. |
tag_prefix |
Prefix stripped from upstream tags. |
use_tags |
Optional. Set to true to use git tags instead of Releases. |
sibling: tracks release tags in omakasui/build-apt-packages, for packages marked external: true.
- Add an entry to
versions.yml. - Create
packages/<name>/Dockerfileandpackage.yml. - Push. CI builds it automatically.
Manual trigger: GitHub > Actions > Build package > Run workflow.
depends_on lists sibling keys. Their .deb is downloaded and installed before the build starts. Set external: true for dependencies built in build-apt-packages.
Requires:
docker(with buildx)yqfakerootdpkg-debgh(dependencies and check-updates)qemu-user-static(arm64 builds only)
make build PKG=aether
make lint PKG=aether
make check-updates PKG=aether
make list
make cleanOutput: output/<package>/.