We have a reasonably complicated workflow that performs a series of jobs:
- do a compile
- if it passes, build RPM packages
- if those pass, use the RPM packages for integration/smoke tests, and then also build Debian packages
- if all of that passes, then deploy to package repositories
The problem is, in step 4, we don’t want to deploy until we know all of the integration/smoke stuff passes, but that means we’re passing along all of the workspace junk that comes from running those, even when the only thing I need to deploy is the final artifacts from the RPM/Debian build process.
Is there a good way to download artifacts from a previous step instead? I’m starting to see my publishes fail because it’s taking so long to download all the workspace layers and attach them, that it times out and fails. Plus there’s no reason to push all that stuff around anyway.
I’ve thought about using caching, and tying it to the workflow ID number. Does that seem reasonable?