Add keychain_name param to setup_ci action #29482
Merged
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.
Checklist
bundle exec rspec
from the root directory to see all new and existing tests passbundle exec rubocop -a
to ensure the code style is validci/circleci
builds in the "All checks have passed" section of my PR (connect CircleCI to GitHub if not)Motivation and Context
Before this change it was impossible to provide a
name
param to thecreate_keychain
action which is called by thesetup_ci
action. This change adds akeychain_name
param to thesetup_ci
action which will be passed asname
to thecreate_keychain
action.We use a self hosted MacOS GitHub Actions runner which can run multiple jobs in parallel. When the setup is started twice (or more) exactly at the same time, the creation of the keychain sometimes fails in one of the jobs with the following error:
This happens because of a timing issue where the first job creates the keychain before the second job is able to tell this happened and subsequently also tries to create the keychain.
To mitigate this issue, we would like to give each job its own keychain (which is actually preferred for other reason too). But currently the
setup_ci
action does not allow us to do this.Description
The
setup_ci
action has a newkeychain_name
param which is used as thename
param of thecreate_keychain
action.