Repository navigation
Deploy through the fleet repo instead of a self-hosted runner - #1857
Merged
Merged
Conversation
The deploy job ran kubectl on a self-hosted runner labelled "languageforge" that no longer exists, so every staging deploy since May has sat queued until GitHub cancelled it after 24 hours. Deploy the way LexBox does: check out the fleet repo (vars.FLEET_REPO) with the FLEET_REPO_SSH_KEY deploy key, bump the four image tags in languageforge/<env>/kustomize/kustomization.yaml with yq, and push. Rancher Fleet rolls the cluster forward from there. The job is serialised per environment and records a GitHub deployment for staging/production. Callers pass k8s-environment and deploy-domain; the kube-context secret is gone. docker/login-action is bumped to v3 because actionlint rejects v2 as too old to run. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Unit Test Results362 tests 362 ✅ 7s ⏱️ Results for commit bd7a234. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
fixes CI which is currently broken
AI summary
Summary
The deploy job ran
kubectl set imageon a self-hosted runner labelledlanguageforgethat no longer exists. Every staging deploy since May has queued on it until GitHub cancelled the job after 24 hours. This replaces it with the LexBox pattern: commit new image tags to the fleet repo and let Rancher Fleet roll the cluster.Unlike LexBox, the fleet repo already holds the full Language Forge manifests under
languageforge/<env>/kustomize/, so nothing is copied from this repo; only the fournewTagvalues change. Thedocker/deploymentfolder here is now unused by CI.Actions are SHA-pinned to the same versions LexBox uses.
docker/login-actionmoved from v2 to v3 because actionlint rejects v2 as too old to run.Evidence
deployqueued forever. Run 25669681222 from May:deploycancelled after exactly 24 h.After:
actionlint -shellcheck= -pyflakes= .github/workflows/*.ymlexits 0. The yq expression was run against a copy of the real staging kustomization and updated all fournewTagvalues with the rest of the file byte-identical.Not tested: an actual workflow run. It cannot run until the repository variable and secret below exist.
Merge Danger
Door: two-way
Revert the workflow; nothing in the cluster changes until a deploy runs.
Blast Radius: deploys only
Needs, before the first run on
develop:FLEET_REPO=sillsdev/languagedepot-deploy(same as LexBox).FLEET_REPO_SSH_KEY= a deploy key with write access on that repo (LexBox's can be reused or a new one added).stagingandproductionare created automatically on first use; add required reviewers onproductionif you want an approval gate like LexBox.staging.ymlcalls the reusable workflow@develop, so the new deploy job is live for staging as soon as this merges todevelop. Production picks it up oncemasterhas it.Test plan
FLEET_REPOvariable andFLEET_REPO_SSH_KEYsecretdevelop; confirm thedeployjob pushes a commit tolanguagedepot-deployand Fleet updatesstaging.languageforge.orgstaging.languageforge.orgserves PHP 7.4.34-dev (php -vin the app pod)🤖 Generated with Claude Code