Fix CI reliability: state lock + internal Forgejo URL #58
No reviewers
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
forgejo_admin/pal-e-platform!58
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "57-ci-reliability-add-lock-false-to-plan-us"
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?
Summary
Two targeted fixes to improve CI pipeline reliability for
tofu planon PRs: disable state locking for read-only plans and use the in-cluster Forgejo service URL for posting PR comments.Changes
.woodpecker.yaml(plan step, line 62): Added-lock=falsetotofu plancommand. PR pipelines run read-only plans that should not acquire a state lock, which can fail or block when another operation holds the lock..woodpecker.yaml(plan step, line 73): Changed PR comment curl URL from external Tailscale funnel (https://forgejo.tail5b443a.ts.net) to internal Kubernetes service (http://forgejo-http.forgejo.svc.cluster.local:80). Since the CI runner is in-cluster, using the internal service avoids TLS/DNS/funnel issues and is faster.Test Plan
planstep succeeds without state lock errorsapplystep (unchanged)Review Checklist
Related
plan-pal-e-platformReview — Pass
Files changed: 1 (
.woodpecker.yaml)Additions/Deletions: +2 / -2
Findings
No issues found. Both changes are minimal, correct, and scoped precisely to the issue:
-lock=falseontofu plan— Correct. PR plan steps are read-only and should not acquire state locks. The flag is placed before-no-colorwhich is valid tofu CLI syntax. Theapplystep (line 125) is unchanged and retains locking as expected.Internal Forgejo service URL — Correct.
http://forgejo-http.forgejo.svc.cluster.local:80is the standard in-cluster DNS for the Forgejo HTTP service in theforgejonamespace. This avoids Tailscale funnel round-trips and potential TLS issues from within the cluster.No secrets, no unrelated changes, no regressions to the
validateorapplysteps.Tofu Plan Output