[WIP] Validate site changes before publishing images #2

Draft
yadunut wants to merge 1 commit from fix-site-ci into main
Owner

The latest main build failed while fetching configuration because Forgejo returned HTTP 429, before any build steps ran. A fresh manual main pipeline refetches configuration. This change also repairs the stale site lockfile (yamleam was missing) and adds pull-request/manual validation with all Gleam tests, shipment export, lockfile consistency, and a Docker build with dry_run enabled.

Manual image publishing is restricted to main; validation never uses registry credentials or publishes an image. Existing main/tag publishing stays available.

Local validation: nut 15 tests, nutst 26 tests, site 1 test passed; Gleam 1.16.0 Erlang shipment exported; Woodpecker strict lint and git diff --check passed. Exact commit 48b97f2 passed manual validation #30 and pull-request validation #32, including the full Docker image build without publishing. CI links: https://ci.yadunut.dev/repos/4/pipeline/30 and https://ci.yadunut.dev/repos/4/pipeline/32. The fresh existing-main build #29 succeeded and existing Flux image automation rolled it out; the live homepage shows Greptile and the deployment is available (1/1).

No merge or deployment requested. Commit was created unsigned because the configured 1Password signing agent was unavailable.

The latest main build failed while fetching configuration because Forgejo returned HTTP 429, before any build steps ran. A fresh manual main pipeline refetches configuration. This change also repairs the stale site lockfile (yamleam was missing) and adds pull-request/manual validation with all Gleam tests, shipment export, lockfile consistency, and a Docker build with dry_run enabled. Manual image publishing is restricted to main; validation never uses registry credentials or publishes an image. Existing main/tag publishing stays available. Local validation: nut 15 tests, nutst 26 tests, site 1 test passed; Gleam 1.16.0 Erlang shipment exported; Woodpecker strict lint and git diff --check passed. Exact commit 48b97f2 passed manual validation #30 and pull-request validation #32, including the full Docker image build without publishing. CI links: https://ci.yadunut.dev/repos/4/pipeline/30 and https://ci.yadunut.dev/repos/4/pipeline/32. The fresh existing-main build #29 succeeded and existing Flux image automation rolled it out; the live homepage shows Greptile and the deployment is available (1/1). No merge or deployment requested. Commit was created unsigned because the configured 1Password signing agent was unavailable.
validate site changes before publishing images
All checks were successful
ci/woodpecker/manual/validate-site Pipeline was successful
ci/woodpecker/pr/validate-site Pipeline was successful
48b97f2e6a
All checks were successful
ci/woodpecker/manual/validate-site Pipeline was successful
ci/woodpecker/pr/validate-site Pipeline was successful
This pull request is marked as a work in progress.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin fix-site-ci:fix-site-ci
git switch fix-site-ci

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff fix-site-ci
git switch fix-site-ci
git rebase main
git switch main
git merge --ff-only fix-site-ci
git switch fix-site-ci
git rebase main
git switch main
git merge --no-ff fix-site-ci
git switch main
git merge --squash fix-site-ci
git switch main
git merge --ff-only fix-site-ci
git switch main
git merge fix-site-ci
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
yadunut/gleam_nut!2
No description provided.