ci: gate softprops release steps + add Forgejo API equivalents #5

Merged
s8n merged 1 commit from feat/a1-forgejo-ci-adapt into main 2026-05-06 13:53:02 +01:00
Owner

Summary

Adapts build-iso.yml so it can run on the Forgejo runner registered on
nullstone (label ubuntu-24.04catthehacker/ubuntu:act-24.04).

The two softprops/action-gh-release@v2 steps cannot speak the Forgejo
Releases API. They are now gated by github.server_url == 'https://github.com'
and mirrored by curl-based steps that hit
POST /api/v1/repos/{owner}/{repo}/releases and the matching attachments
endpoint when running on git.s8n.ru.

Behaviour matrix

Server ci-latest publish step tag-attach step
github.com softprops/action-gh-release@v2 softprops/action-gh-release@v2
git.s8n.ru (Forgejo) curl ... /api/v1/.../releases (POST) curl ... /releases/{id}/assets

secrets.GITHUB_TOKEN is used in both — Forgejo populates it with a
repo-scoped token automatically.

Out of scope (blockers found while testing)

The first run on the new Forgejo runner failed at the addnab/docker-run-action@v3
step with Cannot connect to the Docker daemon at unix:///var/run/docker.sock.
The docker.sock is mounted into the runner container but not into the
per-job container. That is a runner-config issue and needs operator action
on the docker-compose. Not addressed in this PR.

Test plan

  • Confirm GitHub-side path still passes when this branch lands on github.com (push mirror is OFF, so this is a future check).
  • After operator fixes the docker socket, re-trigger this workflow and confirm Forgejo ci-latest release is created and chunks upload.

🤖 Generated with Claude Code

## Summary Adapts `build-iso.yml` so it can run on the Forgejo runner registered on nullstone (label `ubuntu-24.04` → `catthehacker/ubuntu:act-24.04`). The two `softprops/action-gh-release@v2` steps cannot speak the Forgejo Releases API. They are now gated by `github.server_url == 'https://github.com'` and mirrored by curl-based steps that hit `POST /api/v1/repos/{owner}/{repo}/releases` and the matching attachments endpoint when running on git.s8n.ru. ## Behaviour matrix | Server | ci-latest publish step | tag-attach step | |-----------------------|-----------------------------------------|------------------------------------------| | `github.com` | `softprops/action-gh-release@v2` | `softprops/action-gh-release@v2` | | `git.s8n.ru` (Forgejo)| `curl ... /api/v1/.../releases` (POST) | `curl ... /releases/{id}/assets` | `secrets.GITHUB_TOKEN` is used in both — Forgejo populates it with a repo-scoped token automatically. ## Out of scope (blockers found while testing) The first run on the new Forgejo runner failed at the `addnab/docker-run-action@v3` step with `Cannot connect to the Docker daemon at unix:///var/run/docker.sock`. The `docker.sock` is mounted into the **runner** container but not into the **per-job** container. That is a runner-config issue and needs operator action on the docker-compose. Not addressed in this PR. ## Test plan - [ ] Confirm GitHub-side path still passes when this branch lands on github.com (push mirror is OFF, so this is a future check). - [ ] After operator fixes the docker socket, re-trigger this workflow and confirm Forgejo `ci-latest` release is created and chunks upload. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
s8n added 1 commit 2026-05-06 10:39:51 +01:00
ci: gate softprops release steps + add Forgejo API equivalents
Some checks failed
Lint / Kickstart syntax (pull_request) Failing after 3s
Lint / Shell scripts (pull_request) Failing after 29s
Lint / No personal/onyx leaks (pull_request) Failing after 34s
fe3239d5ed
The build-iso workflow used softprops/action-gh-release@v2 unconditionally,
which only speaks the GitHub Releases REST API. When the workflow runs on
the Forgejo runner registered on nullstone, those steps would fail.

Add a server_url check so the GH-only path runs only on github.com, and
mirror it with a curl-based step that hits the Forgejo /api/v1/releases
endpoints. Behaviour:
  - github.com: identical to before (action-gh-release@v2).
  - git.s8n.ru: drop+recreate ci-latest release, upload chunked assets
                via the Forgejo attachments API.

Tag-driven "Attach to release" path mirrored the same way.

Refs: A1 build-eng task — Forgejo runner adaptation.
s8n force-pushed feat/a1-forgejo-ci-adapt from fe3239d5ed to f4ea27271d 2026-05-06 13:52:45 +01:00 Compare
s8n merged commit e58cd91cbf into main 2026-05-06 13:53:02 +01:00
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: veilor-org/veilor-os#5
No description provided.