I’m not sure why the when
parameter is undocumented for persist_to_workspace
, it stated as valid from from circleci config validate
and runs on circleci. However, setting when to always
doesn’t seem to be taking effect
persist_to_workspace:
root: << parameters.workspace >>
paths:
- ./*checksum.txt
- job/*/build/*/colcon_test.rc
- job/*/build/*/test_results/*
when: always
Here is an example where I’ve been trying to use workspaces to aggregate test results from a parallelised job. See that for the 3rd container that fails, the final step is missing:
Persisting to Workspace (2)
https://circleci.com/gh/ruffsl/navigation2/700#tests/containers/0
Given that workspaces are not synchronized across parallel containers for a single job, and that caches are write only, and that artifacts can only be accessed via the REST API, is there any means for parallel containers to communicate with each other? I’ve tried to split my tasks into separate jobs in the workflow, with the goal of caching passed test results so that consecutive re-runs of failed workflows only focus on the remaining failing tests. However, there doesn’t seem to be any way for a job to run when:always
regardless if any of its required jobs fail, thus I can’ never reach the aggregate job.