ci: upload artifacts with Forgejo's actions, and name Forgejo Actions in the ci scope #573

Closed
admin-amaurycoudr wants to merge 2 commits from docs/contributing-forgejo-ci into main

Summary

-- `ci` — GitLab CI and other CI plumbing
+- `ci` — Forgejo Actions workflows (`.forgejo/`) and other CI plumbing

The rule change proposed in !68, and the first pull request on Forgejo: its merge runs the first main deploy of switch day (infra/forgejo/SWITCH-DAY.md step 11).

Evidence

  • Gate: the five commands green locally. On this pull request the gate's checks report green without the app work (Markdown only) and no preview is built.

Merge Danger

Door: two-way

Blast Radius: production

The text change is docs only, but merging it makes Forgejo build the image and deploy production for the first time, shipping everything on main since 62745aa4 (Puzzle Runs and its two migrations). Backup taken in GitLab pipeline 329, restore-tested.

Refs #499

## Summary ```diff -- `ci` — GitLab CI and other CI plumbing +- `ci` — Forgejo Actions workflows (`.forgejo/`) and other CI plumbing ``` The rule change proposed in !68, and the first pull request on Forgejo: its merge runs the first `main` deploy of switch day (`infra/forgejo/SWITCH-DAY.md` step 11). ## Evidence - Gate: the five commands green locally. On this pull request the gate's checks report green without the app work (Markdown only) and no preview is built. ## Merge Danger **Door:** two-way **Blast Radius:** production The text change is docs only, but merging it makes Forgejo build the image and deploy production for the first time, shipping everything on `main` since `62745aa4` (Puzzle Runs and its two migrations). Backup taken in GitLab pipeline 329, restore-tested. Refs #499
docs(repo): name Forgejo Actions in the ci commit scope
Some checks failed
ci / plan (pull_request) Successful in 5s
ci / checks (pull_request) Failing after 48s
ci / front-test (pull_request) Successful in 5s
ci / e2e (pull_request) Successful in 5s
ci / reuse-image (pull_request) Has been skipped
ci / build-workspace (pull_request) Has been skipped
ci / build-image (pull_request) Has been skipped
ci / preview (pull_request) Has been skipped
ci / preview-screenshots (pull_request) Has been skipped
ci / production (pull_request) Has been skipped
ci / comment (pull_request) Failing after 4s
e6e1162f4e
The ci scope's description still said GitLab CI; the gate and deploys now run as Forgejo
Actions workflows in .forgejo/, as proposed in !68.

Refs #499
ci: upload and download artifacts with Forgejo's patched v4 actions
Some checks failed
audit / audit (pull_request) Successful in 8s
ci / plan (pull_request) Successful in 3s
ci / checks (pull_request) Successful in 1m37s
ci / e2e (pull_request) Successful in 42s
ci / front-test (pull_request) Failing after 9m26s
ci / reuse-image (pull_request) Has been skipped
ci / build-workspace (pull_request) Has been skipped
ci / build-image (pull_request) Has been skipped
ci / preview (pull_request) Has been skipped
ci / preview-screenshots (pull_request) Has been skipped
ci / production (pull_request) Has been skipped
ci / comment (pull_request) Successful in 3s
preview-close / remove (pull_request) Successful in 8s
50d5acdf09
The first Forgejo run failed in checks and comment: actions/upload-artifact@v4 and
download-artifact@v4 resolve on data.forgejo.org to GitHub's code, which refuses any host but
github.com (GHESNotSupportedError). code.forgejo.org/forgejo's copies drop that check.

Refs #499
admin-amaurycoudr changed title from docs(repo): name Forgejo Actions in the ci commit scope to ci: upload artifacts with Forgejo's actions, and name Forgejo Actions in the ci scope 2026-10-22 12:21:48 +00:00
Member

Run at 50d5acd

The run

Failed tests

Job File Test
front-test src/auth/forgot-password.test.tsx asking for a reset link > is reached from the sign-in page
front-test src/auth/forgot-password.test.tsx asking for a reset link > answers in French on a French page
front-test src/auth/forgot-password.test.tsx the sent notice > takes the form's place beside the same board, announced, with its heading focused
front-test src/auth/forgot-password.test.tsx the sent notice > leads back to the sign-in page as its one way onward
front-test src/auth/forgot-password.test.tsx the sent notice > says Back to sign in in French on a French page
front-test src/auth/forgot-password.test.tsx a reset request the server limits > tells the Player when to ask again, and says nothing is on its way
front-test src/auth/forgot-password.test.tsx a reset request the server limits > says so in French on a French page
front-test src/auth/reset-password.test.tsx resetting the password from the link > sets the new password, signs the Player in and takes them home
front-test src/auth/reset-password.test.tsx resetting the password from the link > sends nothing on a second press while the first is sending
front-test src/auth/reset-password.test.tsx resetting the password from the link > forgets everything read before the reset
front-test src/auth/reset-password.test.tsx a link that no longer works > says so and offers a new one, once the server refuses it
front-test src/auth/reset-password.test.tsx a link that no longer works > shows the notice beside the recovering board, its heading focused, 'once the server refuses it'
front-test src/auth/reset-password.test.tsx a link that no longer works > says so in French on a French page
front-test src/puzzles/puzzle-screen-layout.test.tsx the board in a 1440 × 900 window > takes the room the window leaves it, with the panel under it, on 'free training'
front-test src/puzzles/puzzle-screen-layout.test.tsx the board in a 1440 × 900 window > takes the room the window leaves it, with the panel under it, on 'a Replay'
front-test src/puzzles/puzzle-screen-layout.test.tsx the board in a 1440 × 900 window > takes the room the window leaves it, with the panel under it, on 'a Run'
front-test src/puzzles/puzzle-screen-layout.test.tsx the board in a 1920 × 1080 window > takes the room the window leaves it, with the panel under it, on 'free training'
front-test src/puzzles/puzzle-screen-layout.test.tsx the board in a 1920 × 1080 window > takes the room the window leaves it, with the panel under it, on 'a Replay'
front-test src/puzzles/puzzle-screen-layout.test.tsx the board in a 1920 × 1080 window > takes the room the window leaves it, with the panel under it, on 'a Run'
front-test src/puzzles/puzzle-screen-layout.test.tsx the result panel in a 1280 × 720 window > shows whole under the board, without a scroll, on 'free training'
front-test src/puzzles/puzzle-screen-layout.test.tsx the result panel in a 1280 × 720 window > shows whole under the board, without a scroll, on 'a Replay'
front-test src/puzzles/puzzle-screen-layout.test.tsx the result panel in a 1280 × 720 window > shows whole under the board, without a scroll, on 'a Run'
front-test src/puzzles/puzzle-screen-layout.test.tsx the result panel in a 1280 × 800 window > shows whole under the board, without a scroll, on 'free training'
front-test src/puzzles/puzzle-screen-layout.test.tsx the result panel in a 1280 × 800 window > shows whole under the board, without a scroll, on 'a Replay'
front-test src/puzzles/puzzle-screen-layout.test.tsx the result panel in a 1280 × 800 window > shows whole under the board, without a scroll, on 'a Run'
front-test src/puzzles/puzzle-screen-layout.test.tsx the result panel in a 1440 × 900 window > shows whole under the board, without a scroll, on 'free training'
front-test src/puzzles/puzzle-screen-layout.test.tsx the result panel in a 1440 × 900 window > shows whole under the board, without a scroll, on 'a Replay'
front-test src/puzzles/puzzle-screen-layout.test.tsx the result panel in a 1440 × 900 window > shows whole under the board, without a scroll, on 'a Run'
front-test src/puzzles/puzzle-screen-layout.test.tsx the result panel in a 1920 × 1080 window > shows whole under the board, without a scroll, on 'free training'
front-test src/puzzles/puzzle-screen-layout.test.tsx the result panel in a 1920 × 1080 window > shows whole under the board, without a scroll, on 'a Replay'
front-test src/puzzles/puzzle-screen-layout.test.tsx the result panel in a 1920 × 1080 window > shows whole under the board, without a scroll, on 'a Run'
front-test src/puzzles/puzzle-screen-layout.test.tsx the page in a 1280 × 720 window > does not scroll while the Player solves 'free training'
front-test src/puzzles/puzzle-screen-layout.test.tsx the page in a 1280 × 720 window > does not scroll while the Player solves 'a Replay'
front-test src/puzzles/puzzle-screen-layout.test.tsx the page in a 1280 × 720 window > does not scroll while the Player solves 'a Run'
front-test src/puzzles/puzzle-screen-layout.test.tsx the page in a 1280 × 800 window > does not scroll while the Player solves 'free training'
front-test src/puzzles/puzzle-screen-layout.test.tsx the page in a 1280 × 800 window > does not scroll while the Player solves 'a Replay'
front-test src/puzzles/puzzle-screen-layout.test.tsx the page in a 1280 × 800 window > does not scroll while the Player solves 'a Run'
front-test src/puzzles/puzzle-screen-layout.test.tsx the page in a 1440 × 900 window > does not scroll while the Player solves 'free training'
front-test src/puzzles/puzzle-screen-layout.test.tsx the page in a 1440 × 900 window > does not scroll while the Player solves 'a Replay'
front-test src/puzzles/puzzle-screen-layout.test.tsx the page in a 1440 × 900 window > does not scroll while the Player solves 'a Run'
front-test src/puzzles/puzzle-screen-layout.test.tsx the page in a 1920 × 1080 window > does not scroll while the Player solves 'free training'
front-test src/puzzles/puzzle-screen-layout.test.tsx the page in a 1920 × 1080 window > does not scroll while the Player solves 'a Replay'
front-test src/puzzles/puzzle-screen-layout.test.tsx the page in a 1920 × 1080 window > does not scroll while the Player solves 'a Run'
front-test src/puzzles/puzzle-screen-layout.test.tsx a Run on a phone > stacks the board, its result panel and the rail, none wider than the screen
front-test src/room/room-footer.test.tsx the rail's footer in French > names each written action with words containing its label for 'a Spectator'

Engine coverage

Statements: 99.48%, shown and never enforced.

Screenshots

No screenshots: no preview was deployed, or capturing it failed.

<!-- chess-run --> ### Run at 50d5acd [The run](http://forgejo:3000/amaurycoudr/chess-project/actions/runs/3) #### Failed tests | Job | File | Test | | --- | --- | --- | | front-test | src/auth/forgot-password.test.tsx | asking for a reset link &gt; is reached from the sign-in page | | front-test | src/auth/forgot-password.test.tsx | asking for a reset link &gt; answers in French on a French page | | front-test | src/auth/forgot-password.test.tsx | the sent notice &gt; takes the form's place beside the same board, announced, with its heading focused | | front-test | src/auth/forgot-password.test.tsx | the sent notice &gt; leads back to the sign-in page as its one way onward | | front-test | src/auth/forgot-password.test.tsx | the sent notice &gt; says Back to sign in in French on a French page | | front-test | src/auth/forgot-password.test.tsx | a reset request the server limits &gt; tells the Player when to ask again, and says nothing is on its way | | front-test | src/auth/forgot-password.test.tsx | a reset request the server limits &gt; says so in French on a French page | | front-test | src/auth/reset-password.test.tsx | resetting the password from the link &gt; sets the new password, signs the Player in and takes them home | | front-test | src/auth/reset-password.test.tsx | resetting the password from the link &gt; sends nothing on a second press while the first is sending | | front-test | src/auth/reset-password.test.tsx | resetting the password from the link &gt; forgets everything read before the reset | | front-test | src/auth/reset-password.test.tsx | a link that no longer works &gt; says so and offers a new one, once the server refuses it | | front-test | src/auth/reset-password.test.tsx | a link that no longer works &gt; shows the notice beside the recovering board, its heading focused, 'once the server refuses it' | | front-test | src/auth/reset-password.test.tsx | a link that no longer works &gt; says so in French on a French page | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the board in a 1440 × 900 window &gt; takes the room the window leaves it, with the panel under it, on 'free training' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the board in a 1440 × 900 window &gt; takes the room the window leaves it, with the panel under it, on 'a Replay' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the board in a 1440 × 900 window &gt; takes the room the window leaves it, with the panel under it, on 'a Run' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the board in a 1920 × 1080 window &gt; takes the room the window leaves it, with the panel under it, on 'free training' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the board in a 1920 × 1080 window &gt; takes the room the window leaves it, with the panel under it, on 'a Replay' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the board in a 1920 × 1080 window &gt; takes the room the window leaves it, with the panel under it, on 'a Run' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the result panel in a 1280 × 720 window &gt; shows whole under the board, without a scroll, on 'free training' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the result panel in a 1280 × 720 window &gt; shows whole under the board, without a scroll, on 'a Replay' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the result panel in a 1280 × 720 window &gt; shows whole under the board, without a scroll, on 'a Run' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the result panel in a 1280 × 800 window &gt; shows whole under the board, without a scroll, on 'free training' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the result panel in a 1280 × 800 window &gt; shows whole under the board, without a scroll, on 'a Replay' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the result panel in a 1280 × 800 window &gt; shows whole under the board, without a scroll, on 'a Run' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the result panel in a 1440 × 900 window &gt; shows whole under the board, without a scroll, on 'free training' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the result panel in a 1440 × 900 window &gt; shows whole under the board, without a scroll, on 'a Replay' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the result panel in a 1440 × 900 window &gt; shows whole under the board, without a scroll, on 'a Run' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the result panel in a 1920 × 1080 window &gt; shows whole under the board, without a scroll, on 'free training' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the result panel in a 1920 × 1080 window &gt; shows whole under the board, without a scroll, on 'a Replay' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the result panel in a 1920 × 1080 window &gt; shows whole under the board, without a scroll, on 'a Run' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the page in a 1280 × 720 window &gt; does not scroll while the Player solves 'free training' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the page in a 1280 × 720 window &gt; does not scroll while the Player solves 'a Replay' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the page in a 1280 × 720 window &gt; does not scroll while the Player solves 'a Run' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the page in a 1280 × 800 window &gt; does not scroll while the Player solves 'free training' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the page in a 1280 × 800 window &gt; does not scroll while the Player solves 'a Replay' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the page in a 1280 × 800 window &gt; does not scroll while the Player solves 'a Run' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the page in a 1440 × 900 window &gt; does not scroll while the Player solves 'free training' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the page in a 1440 × 900 window &gt; does not scroll while the Player solves 'a Replay' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the page in a 1440 × 900 window &gt; does not scroll while the Player solves 'a Run' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the page in a 1920 × 1080 window &gt; does not scroll while the Player solves 'free training' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the page in a 1920 × 1080 window &gt; does not scroll while the Player solves 'a Replay' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | the page in a 1920 × 1080 window &gt; does not scroll while the Player solves 'a Run' | | front-test | src/puzzles/puzzle-screen-layout.test.tsx | a Run on a phone &gt; stacks the board, its result panel and the rail, none wider than the screen | | front-test | src/room/room-footer.test.tsx | the rail's footer in French &gt; names each written action with words containing its label for 'a Spectator' | #### Engine coverage Statements: **99.48%**, shown and never enforced. #### Screenshots No screenshots: no preview was deployed, or capturing it failed.
Author
Owner

Combined into #574, which carries both of this pull request's commits.

Combined into #574, which carries both of this pull request's commits.
Some checks failed
audit / audit (pull_request) Successful in 8s
ci / plan (pull_request) Successful in 3s
ci / checks (pull_request) Successful in 1m37s
Required
Details
ci / e2e (pull_request) Successful in 42s
Required
Details
ci / front-test (pull_request) Failing after 9m26s
Required
Details
ci / reuse-image (pull_request) Has been skipped
ci / build-workspace (pull_request) Has been skipped
ci / build-image (pull_request) Has been skipped
ci / preview (pull_request) Has been skipped
ci / preview-screenshots (pull_request) Has been skipped
ci / production (pull_request) Has been skipped
ci / comment (pull_request) Successful in 3s
preview-close / remove (pull_request) Successful in 8s

Pull request closed

Sign in to join this conversation.
No description provided.