ci: run CI on Forgejo Actions with lean .forgejo workflows #6

Open
ggrace wants to merge 5 commits from ci/forgejo-workflows into develop
Owner

Summary

The upstream .github/workflows fail on the self-hosted Forgejo runners (workflow_call reusable workflows fire on every event, blacksmith-*/windows-latest runners, upstream-only secrets). This adds lean workflows under .forgejo/workflows/ that Forgejo uses instead; .github/ is untouched for upstream merges.

Jobs (all ubuntu-latest): build + typecheck, lint (pnpm lint:ci), backend unit, nodes unit, frontend unit.

Verification

This PR is its own test: its CI run is the first run of the new workflows.

🤖 Generated with Claude Code

## Summary The upstream `.github/workflows` fail on the self-hosted Forgejo runners (`workflow_call` reusable workflows fire on every event, `blacksmith-*`/`windows-latest` runners, upstream-only secrets). This adds lean workflows under `.forgejo/workflows/` that Forgejo uses instead; `.github/` is untouched for upstream merges. Jobs (all `ubuntu-latest`): build + typecheck, lint (`pnpm lint:ci`), backend unit, nodes unit, frontend unit. ## Verification This PR is its own test: its CI run is the first run of the new workflows. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
ci: run CI on Forgejo Actions with lean .forgejo workflows
Some checks failed
CI / Lint (pull_request) Failing after 1m19s
CI / Build and typecheck (pull_request) Failing after 5m16s
CI / Backend unit tests (pull_request) Failing after 1m14s
CI / Frontend unit tests (pull_request) Has been cancelled
CI / Nodes unit tests (pull_request) Has been cancelled
e90726f2d6
The upstream .github workflows rely on workflow_call, blacksmith runners and
upstream-only secrets, so they fail on the self-hosted Forgejo runners.
Add build/typecheck, lint and unit-test workflows under .forgejo/workflows,
which Forgejo uses in place of .github/workflows.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
ci: set CI=true so pnpm install skips the lefthook prepare step
Some checks failed
CI / Lint (pull_request) Failing after 4m17s
CI / Build and typecheck (pull_request) Failing after 5m20s
CI / Backend unit tests (pull_request) Failing after 4m5s
CI / Nodes unit tests (pull_request) Failing after 4m40s
CI / Frontend unit tests (pull_request) Failing after 1m25s
d1172bc690
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
ci: set CI on the composite install step
Some checks failed
CI / Lint (pull_request) Failing after 3m32s
CI / Backend unit tests (pull_request) Failing after 2m54s
CI / Build and typecheck (pull_request) Failing after 6m48s
CI / Frontend unit tests (pull_request) Failing after 4m1s
CI / Nodes unit tests (pull_request) Has been cancelled
b0bcf02552
The Forgejo runner doesn't carry workflow-level env into composite action
steps, so `pnpm install` ran the root `prepare` script, whose lefthook
install exits non-zero inside the job container. Reproduced in the
runner's own image: install fails with a bare ELIFECYCLE without CI and
passes with it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ci: log pnpm install at info level instead of setting CI on the step
Some checks failed
CI / Lint (pull_request) Failing after 2m13s
CI / Build and typecheck (pull_request) Failing after 2m34s
CI / Backend unit tests (pull_request) Failing after 1m58s
CI / Nodes unit tests (pull_request) Has been cancelled
CI / Frontend unit tests (pull_request) Has been cancelled
7a549af49e
Setting CI on the install step (previous commit) didn't change the
failure: the job still dies in a dependency install script, and at the
repo's default warn level pnpm reports only a bare ELIFECYCLE. Log the
install at info so the failing script's output reaches the job log.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ci: clear GITHUB_TOKEN for pnpm install so ripgrep's download works
Some checks failed
CI / Backend unit tests (pull_request) Has been cancelled
CI / Nodes unit tests (pull_request) Has been cancelled
CI / Frontend unit tests (pull_request) Has been cancelled
CI / Build and typecheck (pull_request) Failing after 11m45s
CI / Lint (pull_request) Has been cancelled
5f457daa98
The runner exports GITHUB_TOKEN as its Forgejo job token. @vscode/ripgrep's
postinstall forwards any GITHUB_TOKEN to api.github.com, which answers 401,
so every install failed after its retries. With the variable empty the
request is anonymous and succeeds (verified against the real script with a
fresh download cache: bogus token -> 401/exit 1, empty -> exit 0).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Some checks failed
CI / Backend unit tests (pull_request) Has been cancelled
CI / Nodes unit tests (pull_request) Has been cancelled
CI / Frontend unit tests (pull_request) Has been cancelled
CI / Build and typecheck (pull_request) Failing after 11m45s
CI / Lint (pull_request) Has been cancelled
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

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

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 develop
git merge --no-ff ci/forgejo-workflows
git switch ci/forgejo-workflows
git rebase develop
git switch develop
git merge --ff-only ci/forgejo-workflows
git switch ci/forgejo-workflows
git rebase develop
git switch develop
git merge --no-ff ci/forgejo-workflows
git switch develop
git merge --squash ci/forgejo-workflows
git switch develop
git merge --ff-only ci/forgejo-workflows
git switch develop
git merge ci/forgejo-workflows
git push origin develop
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
ggrace/n8n!6
No description provided.