Migrate nfq_forwarder (repo, CI, and workflows) from GitLab to Forgejo #40
Labels
No labels
Bug
BuildIssue
Claude-fixed
Enhancement
In Progress
Low priority
On Hold
Rejected
Security
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
keyop-go/nfq_forwarder#40
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Blocks #39.
This GitLab instance is running the Enterprise Edition codebase but without an active Premium/Ultimate license, so it effectively only offers Community Edition-level features. Confirmed while investigating #39 ("Require approval from a human before MRs can be merged"): both the legacy
approvals_before_mergeproject setting and the modernapproval_rulesAPI are unusable here - the former is silently ignored (a write to it has no effect), and the latter returns403 Forbidden- consistent with "Merge request approvals" being a licensed-only feature. There is no supported way on this instance to enforce that an MR requires a real human approval before merging.Since buying a GitLab Premium/Ultimate license isn't an option, the longer-term fix is to move this project (repo history, issues/MRs as far as practical, CI pipeline, and release workflow) to Forgejo instead, once Danny's planned Forgejo infrastructure is ready. Forgejo has built-in, license-free branch protection with required-approval support, which would let #39 actually be enforced rather than remaining a documented process/convention only.
Scope (to be refined once Forgejo is available):
.gitlab-ci.ymlpipeline (lint/build/test/release stages) as Forgejo Actions (or equivalent CI).Not started - waiting on the Forgejo infrastructure project itself to be ready first.
marked as related to #39
mentioned in issue #39
mentioned in issue danny/cs-bifrost#7
Fully done end to end - closing out for real now.
.goreleaser.yamlretargeted to Forgejo's own registry/release APIs (#80, #81).v1.1.7(https://forgejo.keyop.co.uk/keyop-go/nfq_forwarder/releases/tag/v1.1.7) published automatically from the tag push, with all four package formats + checksums attached, matching what GitLab used to produce.Six distinct real infra issues were found and fixed along the way (runner scope, registry auth/image size, missing Node.js in the CI image, a Docker-in-Docker
host-gatewayresolution gotcha, an artifact-upload protocol version mismatch, and a goreleaser multi-token ambiguity) - see the linked PRs for details. GitLab (gitlab.keyop.co.uk/keyop/go/nfq_forwarder) is no longer the canonical location for this project.