ci: fix smoke and e2e workflows for the multi-instance model#104
Draft
radnov wants to merge 10 commits into
Draft
ci: fix smoke and e2e workflows for the multi-instance model#104radnov wants to merge 10 commits into
radnov wants to merge 10 commits into
Conversation
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.
The smoke and e2e workflows were still running the old single-instance flow, so they broke on every push after the multi-instance rework in #99. This gets them green again.
I moved both onto the new flow - generate the stack envs, create an instance, then bring up Traefik, monitoring and the instance under a
ciproject - and scoped everydocker composecall to that project. The pytest suite made the same single-instance assumptions, so I pointed the helpers and tests at the per-instance project, loaded the instance env for the admin credentials, and looked up the Prometheus and Tempo containers by their compose labels instead of a baredocker compose exec.A couple of things surfaced while getting the e2e run to pass.
clean-allonly tore down the app project, so I made it drop the Postgres volumes and per-instance network too, which gives the backup/restore test a genuinely fresh database.restorewas passing its file variables throughsudo, which strips them, so now they go viadocker compose run -ethe same waybackupalready does it. And I taught the login helper to retry the whole login when Chromium hitsERR_NETWORK_CHANGEDfrom Docker churning bridges mid-test.I also added
development-2.0to the workflow triggers so CI runs on this branch and PRs into it, rather than only once it merges up tomaster.