feat: wire Forgejo Actions CI/CD workflows (#22) #26

Open
pyr0ball wants to merge 2 commits from feat/ci-workflows into main
Owner

Summary

  • ci.yml: API lint (ruff F+I) + pytest on push/PR; web vue-tsc typecheck + vitest + build
  • mirror.yml: push to GitHub (CircuitForgeLLC/snipe) + Codeberg (CircuitForge/snipe) on main and tags
  • release.yml: Docker build (amd64+arm64) → Forgejo registry + Forgejo release via API; GHCR push deferred pending BSL policy (Circuit-Forge/snipe#3 / cf-agents#3)
  • .cliff.toml: git-cliff changelog config wired into release workflow
  • pyproject.toml: [dev] extras (pytest, ruff), ruff config (F+I rules; E deferred)
  • Fixed 45 ruff violations across codebase (import sorting, one unused variable, unused imports)

Required secrets (set in Forgejo repo settings before merging)

Secret Workflow
FORGEJO_TOKEN ci.yml (clone cf-core)
GITHUB_MIRROR_TOKEN mirror.yml
CODEBERG_MIRROR_TOKEN mirror.yml
FORGEJO_RELEASE_TOKEN release.yml

Test plan

  • Set required secrets in Forgejo repo settings
  • Verify CI job passes on this PR
  • Verify mirror jobs fire on merge to main
  • Cut a test tag (v0.1.0-rc1) to verify release workflow end-to-end

Closes #22

## Summary - **ci.yml**: API lint (ruff F+I) + pytest on push/PR; web vue-tsc typecheck + vitest + build - **mirror.yml**: push to GitHub (`CircuitForgeLLC/snipe`) + Codeberg (`CircuitForge/snipe`) on main and tags - **release.yml**: Docker build (amd64+arm64) → Forgejo registry + Forgejo release via API; GHCR push deferred pending BSL policy (Circuit-Forge/snipe#3 / cf-agents#3) - **.cliff.toml**: git-cliff changelog config wired into release workflow - **pyproject.toml**: `[dev]` extras (pytest, ruff), ruff config (F+I rules; E deferred) - Fixed 45 ruff violations across codebase (import sorting, one unused variable, unused imports) ## Required secrets (set in Forgejo repo settings before merging) | Secret | Workflow | |--------|----------| | `FORGEJO_TOKEN` | ci.yml (clone cf-core) | | `GITHUB_MIRROR_TOKEN` | mirror.yml | | `CODEBERG_MIRROR_TOKEN` | mirror.yml | | `FORGEJO_RELEASE_TOKEN` | release.yml | ## Test plan - [ ] Set required secrets in Forgejo repo settings - [ ] Verify CI job passes on this PR - [ ] Verify mirror jobs fire on merge to main - [ ] Cut a test tag (`v0.1.0-rc1`) to verify release workflow end-to-end Closes #22
pyr0ball added 1 commit 2026-04-06 00:02:55 -07:00
feat: wire Forgejo Actions CI/CD workflows (#22)
Some checks are pending
CI / API — lint + test (pull_request) Waiting to run
CI / Web — typecheck + test + build (pull_request) Waiting to run
eb05be0612
- ci.yml: API lint (ruff F+I) + pytest, web vue-tsc + vitest + build
- mirror.yml: push to GitHub (CircuitForgeLLC) + Codeberg (CircuitForge) on main/tags
- release.yml: Docker build → Forgejo registry + release via API; GHCR deferred pending BSL policy (cf-agents#3)
- .cliff.toml: git-cliff changelog config for semver releases
- pyproject.toml: add [dev] extras (pytest, ruff), ruff config
- Fix 45 ruff violations across codebase (import sorting, unused vars, unused imports)
pyr0ball added 1 commit 2026-04-06 00:04:50 -07:00
fix: rename GITHUB_MIRROR_TOKEN to GH_MIRROR_TOKEN (Forgejo blocks GITHUB_ prefix)
Some checks are pending
CI / API — lint + test (pull_request) Waiting to run
CI / Web — typecheck + test + build (pull_request) Waiting to run
6f2e97a166
Some checks are pending
CI / API — lint + test (pull_request) Waiting to run
CI / Web — typecheck + test + build (pull_request) Waiting to run
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 feat/ci-workflows:feat/ci-workflows
git checkout feat/ci-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 checkout main
git merge --no-ff feat/ci-workflows
git checkout feat/ci-workflows
git rebase main
git checkout main
git merge --ff-only feat/ci-workflows
git checkout feat/ci-workflows
git rebase main
git checkout main
git merge --no-ff feat/ci-workflows
git checkout main
git merge --squash feat/ci-workflows
git checkout main
git merge --ff-only feat/ci-workflows
git checkout main
git merge feat/ci-workflows
git push origin main
Sign in to join this conversation.
No reviewers
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: Circuit-Forge/snipe#26
No description provided.