Dev - #196
Merged
Merged
Dev#196
Conversation
Replace the dev pipeline's Azure ACR build + AKS GitOps path with a
matrix build that pushes dev-<repo>-{api,worker} to Docker Hub and a
deploy job that recreates the two containers on the blocks-infra VM.
Staging and production workflows are unchanged.
Notes:
- vars.env has no trailing newline, so it is loaded as
`{ cat vars.env; echo; } >> $GITHUB_ENV`; a bare `cat >>` would splice
the last variable onto the next value written to the env file.
- The deploy job logs in to Docker Hub itself rather than relying on the
runner user's ~/.docker/config.json, since the images are private.
- `--profile infra` is only there to make the compose project valid (the
app services declare depends_on mongodb). With --no-deps and explicit
service names it starts nothing else, and mongodb-seed now sits in an
opt-in [seed] profile so a deploy cannot re-seed the database.
- A verification step asserts both containers are running on the new SHA,
so a crash-looping deploy fails the job instead of reporting success.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…evstg-runner Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The deploy step only exported <SVC>_TAG into its own shell, so .env kept pointing at the previous image. Any later `docker compose up -d` or `./run.sh -all` would then silently roll the service back to the old tag (observed on localization: container on 440d3576, .env on 32a54c64). Write the tag into .env before bringing the containers up, and fail the job if compose does not resolve to the tag being deployed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Dev traffic is served from the original Azure infra again, so the dev pipeline should build and deploy there rather than to the blocks-infra VM. Restores .github/workflows/ci-dev.yml as it was on backup/dev-2026-09-09. The VM-targeting version is preserved on backup/vm-target-2026-09-10 for when the remaining service dependencies are resolved. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
… stub GithubService.Clone returned true without doing anything and nothing called it. Replaced with what the blocks CLI's new `blocks git` family needs: - GET Github/credential — the calling user's stored OAuth token (validated against GitHub on every call) as a git-usable credential; 404 when GitHub is not connected so the CLI can say "reconnect" instead of "auth failed". - POST Github/repos — creates a repository for the user or one of their recorded organisations (auto_init false so the first push is a fast-forward); an org the token doesn't list is refused before GitHub. Tests cover both paths in service and controller (72 Github tests green). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QWP2MoA7tFKfxhx4wwCJct
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.
No description provided.