ci: refactor PR and dev workflows #1172
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.
This PR adds reusable workflows for building otel binaries and running tests. It also makes some changes to behaviour relative to the current state.
Caching now works differently. We still have a separate cache per OS and architecture, but the cache is only ever saved on
main
, and branches just use it. This is to cut down on unnecessary branch caches, which is especially important now that we also save the build cache, which significantly speeds up execution.For this reason, we now always run tests on main - we need to build the test cache for branches.
I've left the release workflow alone for now, as it might need to be refactored further to use the new build workflow, and I didn't want to make this PR more complicated than it already is. It might be easier to review commit-by-commit.
The end result is CI executions for PRs taking 40-50% less time. See https://github.com/swiatekm-sumo/sumologic-otel-collector/pull/6. In general, that repo has all the changes in main, so they've all been tested.