Release workflow: upload through Gitea's internal address; add manual trigger #13

Merged
selimaj-dev merged 1 commits from release-upload-internal-url into master 2026-09-25 15:35:18 +00:00
Owner

Problem

The first release run (0.1.1-beta) built every version, but the upload failed:

Uploading saturn-client-0.1.1-beta+1.21.10.jar
curl: (22) The requested URL returned error: 413
413 Payload Too Large (cloudflare)

The Cloudflare tunnel in front of git.selimaj.dev caps request body size, and the mod jars exceed it.

Changes

  • Internal address: API calls now go to GITEA_API: http://gitea:3000/api/v1, bypassing the tunnel. Checkout still uses the public URL, since downloads aren't limited.
  • Lookup by tag: the release is found with GET /repos/{repo}/releases/tags/{tag} instead of github.event.release.id. Checked against the live API: it finds 78 for 0.1.1-beta.
  • Manual trigger: new workflow_dispatch with a tag input. It checks out that tag's code, builds it, and attaches the jars to that tag's existing release. TAG falls back to inputs.tag when there's no release event.

Requirement

The job container must resolve gitea. By default, act_runner job containers run on their own Docker network. If the upload fails to resolve or connect to gitea:3000, set container.network in the runner config to the Docker network the Gitea container is on, and restart the runner.

After merging: attach jars to 0.1.1-beta

Re-running the failed run would use the workflow file at the tag's commit, which still has the old URL. Instead, open Actions → Release → Run workflow, choose master, and enter the tag 0.1.1-beta.

Testing

  • The YAML parses. The release-id extraction was checked against the live releases/tags/0.1.1-beta response.
  • Not run yet: the workflow itself. The manual run above is its first test.

🤖 Generated with Claude Code

## Problem The first release run (0.1.1-beta) built every version, but the upload failed: ``` Uploading saturn-client-0.1.1-beta+1.21.10.jar curl: (22) The requested URL returned error: 413 413 Payload Too Large (cloudflare) ``` The Cloudflare tunnel in front of `git.selimaj.dev` caps request body size, and the mod jars exceed it. ## Changes - **Internal address:** API calls now go to `GITEA_API: http://gitea:3000/api/v1`, bypassing the tunnel. Checkout still uses the public URL, since downloads aren't limited. - **Lookup by tag:** the release is found with `GET /repos/{repo}/releases/tags/{tag}` instead of `github.event.release.id`. Checked against the live API: it finds `78` for `0.1.1-beta`. - **Manual trigger:** new `workflow_dispatch` with a `tag` input. It checks out that tag's code, builds it, and attaches the jars to that tag's **existing** release. `TAG` falls back to `inputs.tag` when there's no release event. ## Requirement The job container must resolve `gitea`. By default, act_runner job containers run on their own Docker network. If the upload fails to resolve or connect to `gitea:3000`, set `container.network` in the runner config to the Docker network the Gitea container is on, and restart the runner. ## After merging: attach jars to 0.1.1-beta Re-running the failed run would use the workflow file at the tag's commit, which still has the old URL. Instead, open **Actions → Release → Run workflow**, choose `master`, and enter the tag `0.1.1-beta`. ## Testing - The YAML parses. The release-id extraction was checked against the live `releases/tags/0.1.1-beta` response. - **Not run yet:** the workflow itself. The manual run above is its first test. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
selimaj-dev added 1 commit 2026-09-25 15:35:02 +00:00
The Cloudflare tunnel in front of git.selimaj.dev rejects the jar
uploads with 413 Payload Too Large. Call the API at http://gitea:3000
instead, look the release up by tag, and add a workflow_dispatch trigger
that builds a given tag and attaches the jars to its existing release.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
selimaj-dev merged commit 451ac986c0 into master 2026-09-25 15:35:18 +00:00
selimaj-dev deleted branch release-upload-internal-url 2026-09-25 15:35:20 +00:00
Sign in to join this conversation.