-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
Locations
Pack, generate, and validate a configuration file for pipeline continuation: Setup :(https://circleci.com/docs/guides/orchestrate/using-dynamic-configuration/#setup-config-2)
Summary:
The official How-to guide "Using Dynamic Configuration" guide omits setting the parameters field in the continuation/continue step. This causes output-path : /tmp/pipeline-parameters.json (default <<parameters.output-path>>) generated from path-filtering/set-parameters to be ignored, resulting in {} being passed to continuation /continue which has set parameters to {} by default, this results in when there are relevant changes to the files the << pipeline.parameters.* >> always evaluates to default values defined in the yml files, rather than the mapped values generated by path filtering.
Steps to Reproduce:
- Follow the example from the guide exactly.
- Trigger a change matching a mapping.
- observe the continue pipeline step under pipelines it will show "parameters": {}
- if we set when: <<pipeline.parameters.>> in any of the shared-config.yml, code-config.yml, docs-config.yml it won't show up even if the relevant file changed happened and the parameters were successfully changed by mapping for example on "." always-continue will be set to true, but shared-config won't show up due to when condition
Expected:
The continuation/continue should have parameters: parameters. output-path as defined under path-filtering/filter
Actual:
The continuation/continue step runs with empty parameters {} by default since here it is manually being called rather from within path-filtering/filter , breaking the intended dynamic config behavior.
Cause:
The parameters: field is missing from the example continuation/continue step.
Fix:
Update the guide’s example:
- continuation/continue:
configuration_path: /tmp/generated-config.yml
parameters: /tmp/pipeline-parameters.json
additional-info: /tmp/pipeline-parameters.json is << parameters.output-path >>
benefit:
now the parameters can be successfully passed to the continuation pipeline along with the relevant file when the mapping matches the regex