diff --git a/skills/gitea-ci/SKILL.md b/skills/gitea-ci/SKILL.md index 837ac16..ae5f0ac 100644 --- a/skills/gitea-ci/SKILL.md +++ b/skills/gitea-ci/SKILL.md @@ -1,6 +1,6 @@ --- name: gitea-ci -description: End-to-end Gitea CI/CD setup with self-hosted act_runner, quality gate pipeline, buildctl image build, k3s deploy, and GitHub mirror. Covers act_runner-specific gotchas that are not documented anywhere. +description: End-to-end Gitea CI/CD setup with self-hosted act_runner, quality gate pipeline, shared buildctl image-build script, k3s deploy, and GitHub mirror. Covers act_runner-specific gotchas that are not documented anywhere. --- # Gitea CI/CD Pipeline Setup @@ -133,44 +133,39 @@ jobs: echo "version-tag=${REF#refs/tags/}" >> "$GITHUB_OUTPUT" fi + # infra#309: do NOT paste a build implementation here. The estate has + # exactly one, mathias/infra's ci-templates/build-image.sh, and each + # repo carries a byte-identical copy at .gitea/build-image.sh that a + # drift gate keeps current. + # + # Copying the implementation is what made the buildah->buildctl + # migration (infra#241) an eleven-repo sprint, and what left this very + # skill handing out the broken version for weeks after the app repos + # were fixed. Per-repo differences are INPUTS, not edits to the copy. + # + # To adopt in a new repo: + # 1. add the repo to mathias/infra ci-templates/adopters.txt + # 2. run `task ci:sync` in mathias/infra -- it writes the copy + # 3. commit .gitea/build-image.sh in your repo + # 4. call it as below + # + # Skipping step 1 leaves the copy unmanaged: it works today and falls + # silently behind the next time the canonical file changes. + # + # Inputs: IMAGE (required, usually the workflow-level env), SHA_TAG, + # VERSION_TAG, GIT_SHA, IMAGE_SOURCE, BUILD_ARGS, EXTRA_LABELS, + # CONTEXT, DOCKERFILE_DIR, DOCKERFILE_NAME, PUSH_LATEST. Read the + # canonical file's header for the full list. + # + # `bash