diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index d23ed5c2e..e83539883 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -9,6 +9,7 @@ amazonbot anthro anubis anubistest +apk apnic APNICRANDNETAU Applebot @@ -267,7 +268,6 @@ qwantbot rac rawler rcvar -rdb redhat redir redirectscheme diff --git a/.github/workflows/package-builds-stable.yml b/.github/workflows/package-builds-stable.yml index 1f849c49d..5a5e8fd91 100644 --- a/.github/workflows/package-builds-stable.yml +++ b/.github/workflows/package-builds-stable.yml @@ -50,5 +50,6 @@ jobs: RELEASE="${RELEASE_VERSION}" cd var for file in *; do + [[ file == *.apk ]] && continue gh release upload $RELEASE $file done diff --git a/docs/docs/CHANGELOG.md b/docs/docs/CHANGELOG.md index 0c5858dce..047dae789 100644 --- a/docs/docs/CHANGELOG.md +++ b/docs/docs/CHANGELOG.md @@ -20,6 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add Ukrainian locale ([#1044](https://github.com/TecharoHQ/anubis/pull/1044)). - Allow Renovate as an OCI registry client. - Properly handle 4in6 addresses so that IP matching works with those addresses. +- Add unstable/experimental APK packages to CI, powered by yeet. Please let us know if there's any issues with the packaging! - Add support to simple Valkey/Redis cluster mode - Stabilize the CVE-2025-24369 regression test by always submitting an invalid proof instead of relying on random POW failures. diff --git a/yeetfile.js b/yeetfile.js index 47749aff9..657082fa0 100644 --- a/yeetfile.js +++ b/yeetfile.js @@ -6,7 +6,12 @@ $`npm run assets`; "ppc64le", "riscv64", ].forEach(goarch => { - [deb, rpm, tarball].forEach(method => method.build({ + [ + apk, + deb, + rpm, + tarball, + ].forEach(method => method.build({ name: "anubis", description: "Anubis weighs the souls of incoming HTTP requests and uses a sha256 proof-of-work challenge in order to protect upstream resources from scraper bots.", homepage: "https://anubis.techaro.lol", @@ -19,11 +24,19 @@ $`npm run assets`; "./data/botPolicies.yaml": "botPolicies.yaml", }, - build: ({ bin, etc, systemd, doc }) => { + build: ({ bin, etc, systemd, openrc, doc }) => { $`go build -o ${bin}/anubis -ldflags '-s -w -extldflags "-static" -X "github.com/TecharoHQ/anubis.Version=${git.tag()}"' ./cmd/anubis`; $`go build -o ${bin}/anubis-robots2policy -ldflags '-s -w -extldflags "-static" -X "github.com/TecharoHQ/anubis.Version=${git.tag()}"' ./cmd/robots2policy`; - file.install("./run/anubis@.service", `${systemd}/anubis@.service`); + if (systemd) { + file.install("./run/anubis@.service", `${systemd}/anubis@.service`); + } + + if (openrc) { + file.install("./run/openrc/anubis.initd", `${openrc.initd}/anubis`) + file.install("./run/openrc/anubis.confd", `${openrc.confd}/anubis`) + } + file.install("./run/default.env", `${etc}/default.env`); $`mkdir -p ${doc}/docs`