Commit Graph

15 Commits

Author SHA1 Message Date
azy5030 34d769625a ci: keep curl+tar checkout in the build job (no node in stage3 container)
CI / lint (push) Successful in 20s
CI / build (push) Successful in 6m2s
actions/checkout can't run in the build job: the Gitea runner executes JS
actions via `docker exec node …` inside the job container, and gentoo/stage3
ships no node, so checkout died with `exec: "node": ... not found` (exit 127)
in run 111. Revert the build job to the node-free curl+tar checkout (restore
net-misc/curl, /var/db/repos/azy5030 paths) and document why.

The lint job keeps actions/checkout — it has no container: and runs in the
runner's default node-capable image, where plain checkout works on this SHA-1
repo (confirmed green in run 111's lint job).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018MsAYv5RhNLE54fPrviVgS
2026-06-19 20:46:02 -05:00
azy5030 98ed1c32ce ci: check out via actions/checkout (repo is SHA-1, not SHA-256)
CI / lint (push) Successful in 21s
CI / build (push) Failing after 4m25s
Run 110's lint job failed at checkout ("couldn't find remote ref <sha>")
because GIT_DEFAULT_HASH: sha256 — copied from the SHA-256 homeserver repo —
made git init create a SHA-256 repo that can't resolve this repo's SHA-1
commits. This overlay is a plain SHA-1 repo, so checkout needs no hash override.

- lint job: drop the bogus GIT_DEFAULT_HASH: sha256 override.
- build job: replace the curl+tar checkout with actions/checkout into
  $GITHUB_WORKSPACE, registered with portage via repos.conf; pull dev-vcs/git
  in Configure portage (stage3 has no git, which checkout shells out to) and
  drop net-misc/curl (only the old checkout used it). QA scan / verify steps
  now reference $GITHUB_WORKSPACE.
- CLAUDE.md: correct the SHA-256 claim and rewrite the CI section for the
  two-job lint-gate + actions/checkout setup.

just lint passes; ci.yaml passes actionlint.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018MsAYv5RhNLE54fPrviVgS
2026-06-19 20:38:08 -05:00
azy5030 eb9f6a0f1a ci: add Justfile + lint gate (markdown/shell/yaml/actions)
CI / lint (push) Failing after 2m23s
CI / build (push) Has been skipped
Mirror the homeserver repo's lint setup. Add a `Justfile` with
lint-md/lint-sh/lint-yaml/lint-actions recipes (and a `lint` aggregate +
fix recipes), an `.github`-style `.markdownlint.json`, and a `lint` job in
ci.yaml that runs `just lint` on the plain runner and gates the Gentoo
`build` job via `needs: lint`.

The overlay has no custom runner labels (workflows use ubuntu-latest), so
lint-actions calls actionlint without a -config-file, and no
.github/actionlint.yaml is needed. Also add the blank line before a list in
CLAUDE.md that markdownlint (MD032) flagged, and make the .markdownlint.json
referenced by .yamllint.yaml's comment actually exist.

All linters pass locally.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018MsAYv5RhNLE54fPrviVgS
2026-06-19 20:29:20 -05:00
azy5030 ece869162f docs: add CLAUDE.md project guidance
CI / build (push) Successful in 6m13s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018MsAYv5RhNLE54fPrviVgS
2026-06-19 20:21:58 -05:00
azy5030 f08859eaea ci(bump): gate toolchain install behind a cheap version check; fix binpkg verify
CI / build (push) Successful in 6m25s
The daily Bump job emerged a full Go/pkgdev toolchain (and synced ::gentoo,
~5-26 min) on every run before bump-version.sh checked whether anything was
actually out of date — which, on the common no-op day, it isn't. Add a cheap
first step that compares the newest upstream release (releases.rss) against the
newest committed ebuild (Gitea contents API) using only base-image wget, and
gate the sync/install/bump steps on its `needed` output. The gate only
short-circuits when confident both versions parsed and current >= upstream;
on any doubt it falls through to the full run, where bump-version.sh remains
the source of truth.

Also fix the binpkg signature-verification disable in both workflows: the
`sed 's/^verify-signature = true/.../'` matched nothing in the stage3 binhost
config, so every emerge flooded the log with GPG failures ("unknown key",
missing pubring.kbx, "Try running getuto"). Delete any verify-signature line
and append `verify-signature = false` so the knob is actually set.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018MsAYv5RhNLE54fPrviVgS
2026-06-19 20:18:21 -05:00
azy5030 37f78fe356 dev-util/gitea-runner: bump to 1.0.8 (#3)
CI / build (push) Has been cancelled
Automated bump of `dev-util/gitea-runner` from 1.0.7 to 1.0.8.

- Upstream release: https://gitea.com/gitea/runner/releases/tag/v1.0.8
- Vendor tarball: https://git.azy.dev/azy5030/azy5030-overlay/releases/tag/gitea-runner-1.0.8-vendor

Review checklist:
- [ ] LICENSE still covers all vendored module licenses (`go-licenses report ./...`)
- [ ] BDEPEND Go version matches upstream go.mod (set to >=1.26.0)
- [ ] version ldflags path `internal/pkg/ver.version` unchanged upstream

CI build + `gitea-runner --version` passed in this workflow.

---------

Co-authored-by: gitea-actions <actions@azy.dev>
Reviewed-on: #3
gitea-runner-1.0.8-vendor
2026-06-14 01:04:27 -05:00
azy5030 8099407c6c dev-util/gitea-runner: bump to 1.0.7 (#2)
CI / build (push) Has been cancelled
Automated bump of `dev-util/gitea-runner` from 1.0.4 to 1.0.7.

- Upstream release: https://gitea.com/gitea/runner/releases/tag/v1.0.7
- Vendor tarball: https://git.azy.dev/azy5030/azy5030-overlay/releases/tag/gitea-runner-1.0.7-vendor

Review checklist:
- [ ] LICENSE still covers all vendored module licenses (`go-licenses report ./...`)
- [ ] BDEPEND Go version matches upstream go.mod (set to >=1.26.0)
- [ ] version ldflags path `internal/pkg/ver.version` unchanged upstream

CI build + `gitea-runner --version` passed in this workflow.

---------

Co-authored-by: gitea-actions <actions@azy.dev>
Reviewed-on: #2
Co-authored-by: azy5030 <azy5030@gmail.com>
Co-committed-by: azy5030 <azy5030@gmail.com>
gitea-runner-1.0.7-vendor
2026-06-14 00:41:01 -05:00
azy5030 a05bca6f01 fix(bump): fetch upstream go.mod via /api/v1 raw endpoint
CI / build (push) Successful in 6m8s
Same login-redirect issue as the source archive: gitea.com/gitea/runner/raw/tag/v*/go.mod now 303s to /user/login, so curl -fsSL saves the login HTML, grep finds no 'go N.N' line, and pipefail aborts the bump.

Switching to /api/v1/repos/gitea/runner/raw/go.mod?ref=v* — anonymous, returns the raw go.mod.
2026-06-14 00:28:11 -05:00
gitea-actions 1a87cc50e9 dev-util/gitea-runner: bump to 1.0.6
CI / build (push) Has been cancelled
gitea-runner-1.0.6-vendor
2026-06-14 00:08:39 -05:00
azy5030 8d7432ff69 fix(gitea-runner): fetch source via /api/v1 archive endpoint
CI / build (push) Successful in 7m35s
gitea.com now redirects unauthenticated requests for /<owner>/<repo>/archive/v*.tar.gz to /user/login, breaking emerge's source fetch (wget saves the login HTML, distfile size verify fails).

The /api/v1/repos/<owner>/<repo>/archive/v*.tar.gz endpoint still serves anonymously and returns byte-identical contents, so the Manifest is unchanged.

Updated both the live 1.0.4 ebuild SRC_URI and the bump-version.sh template so regenerated ebuilds (and the bump script's own vendor-tarball fetch) use the working URL.
2026-06-14 00:01:33 -05:00
azy5030 ee9cca3d81 fix(bump): preserve GITHUB_SERVER_URL scheme when cloning
CI / build (push) Failing after 5m27s
The Gitea runner's GITHUB_SERVER_URL is the internal http endpoint
(http://172.17.0.1:3000); hard-coding https:// in the clone URL caused a TLS
error. Derive the scheme from GITHUB_SERVER_URL, and use the public host for
the PR-body vendor link.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 20:59:08 -05:00
azy5030 9fe57aee71 ci: rename bump secret to BUMP_TOKEN
CI / build (push) Successful in 6m59s
Gitea reserves the GITEA_ prefix for secret names, so the workflow secret
can't be GITEA_TOKEN. Rename it (and the env var the script reads) to
BUMP_TOKEN.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 20:51:48 -05:00
azy5030 57e0428658 ci: create repos.conf dir before writing repo configs
CI / build (push) Successful in 5m50s
A fresh gentoo/stage3 container has no /etc/portage/repos.conf directory, so
writing gentoo.conf failed. mkdir -p it first in both workflows and the bump
script.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 19:59:46 -05:00
azy5030 f2902d4a1f docs: add CI status badge to README
CI / build (push) Failing after 1m5s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 19:56:47 -05:00
azy5030 3603b34ba0 dev-util/gitea-runner: new package at 1.0.4
CI / build (push) Failing after 3m20s
Initial azy5030 overlay: scaffolding (eselect repository), the
dev-util/gitea-runner ebuild (go-module, vendored), CI build validation,
and a daily upstream-bump workflow.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
gitea-runner-1.0.4-vendor
2026-05-20 19:36:58 -05:00