-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TA-3042 redis service and db #265
Merged
Merged
Conversation
This file contains 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
… with the other jobs
…8s to manage injecting in this env var
vimalsuresh
approved these changes
Mar 26, 2025
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.
What does this pull request do?
Please describe what you did.
Modified the circleci config file to populate a redis list with a list of feature tests to run.
Why make these changes?
Please describe why the changes were needed.
Tests will eventually be popped off the list by pods running in parallel to facilitate parallel running and partial test runs.
The following changes have been made:-
circleci jobs have been amended and new ones created as well as amendments to the workflow.
A new generate_release_name job has been created which runs a ruby script to generate a unique release name used by the helm install commands in the circleci config file. This is because the number of resources in the k8s cluster is going to increase per test run as we move to running ft's in parallel and associating a test run with a resource name will help manage this situation.
2 helm install commands now create resources in 2 stages. There is a setup stage which creates the k8s redis db and service as well as a setup pod which populates a redis list. There is also a run stage which runs the feature tests as normal (currently sequentially in one pod).
The 2 stages are run by setting flags
--set setup=true
and--set run=true
. These flags are intialised in theValues.yaml
file and used intemplates\main.yaml
to include resources to run for each stage. The 2 types of resources are placed in eithertemplates\stage
ortemplates\run
.A redis-setup image is created in an early job which is referenced in the
redis-setup.yaml
k8s resource file. When run it checks for the existence of afeatures.txt
file in the root folder. If it exists and it is not empty then it is assumed within it is a list of feature tests to run. These are then pushed one by one onto a redis list calledfeatures_list
. If the file is empty (or the file doesn't exist) it is assumed that the full list of*.feature
files found in the features folder needs to be pushed into the list. Eventually, moving forward it is this list which will be used by pods when running tests. Pods will pop tests of the list and run individual tests. This will facilitate running partial test runs as well as allowing pods to run in parallel pulling test info from this central work queue.Checklist