Removes restore-build-files step from the colcon-test
It harbored a bug: inputs.cmake-build-type was forgotten to be defined on the action inputs, it was empty all the time and cached(saved and restored) unnecessary stuff.
This was added here because they thought colcon-build and colcon-test tasks could run on different jobs (different machines).
But it was unnecessary and everywhere, we use it like build-and-test-x because it is more efficient (and fast) to run them on the same machine.
Right now, this is also creating a bug because of the wrong cache names. Example bug:
noncuda and cuda build-and-test-differential jobs have the same cache key
these 2 jobs run in parallel
noncuda finishes first and populates the cache (with colcon-build ending)
cuda colcon-test step reuses the cache from unwanted parallel step
Description
This PR:
restore-build-files
step from thecolcon-test
inputs.cmake-build-type
was forgotten to be defined on the action inputs, it was empty all the time and cached(saved and restored) unnecessary stuff.colcon-build
andcolcon-test
tasks could run on different jobs (different machines).build-and-test-x
because it is more efficient (and fast) to run them on the same machine.build-and-test-differential
jobs have the same cache keycolcon-test
step reuses the cache from unwanted parallel stepcolcon-build
willactions/cache/save@v4
clang-tidy
willactions/cache/restore@v4
cache-key-element
input param tocolcon-build
andclang-tidy
so users of this workflow can add distinctive keywords to these keys.default
cuda
andnocuda
to differentiate between these but in future users could reuse it in different waysrunner.os
identifier.key: build-${{ inputs.rosdistro }}-${{ runner.os }}-${{ runner.arch }}-${{ inputs.cmake-build-type }}-${{ github.sha }}
key: build-${{ runner.arch }}-${{ inputs.rosdistro }}-${{ inputs.cache-key-element }}-${{ inputs.cmake-build-type }}-${{ github.sha }}
Tests performed
Performed the tests in:
Effects on system behavior
Interface changes
cache-key-element
input with default value ofdefault
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.
In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.
Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.
After all checkboxes are checked, anyone who has write access can merge the PR.