Conversation
That is because jobs don't share artifacts. You can try to use the same cache across different jobs, but I not sure if this is a proper solution. |
That's the part of the puzzle we are not understanding. We are caching the artifacts. We have been doing so in an attempt to reduce build time, but now it seems that we never re-use the cache between jobs which makes it useless. |
|
I believe the issue is related with concurrent cache writes. Jobs restore a cache and save it back a the end. I can then override a cache containing the artifact that we just published. The next job will then fail with artifact not found error. |
|
@marcospereira, I'm not sure how to understand the CircleCI docs, but maybe you know more about it. Is that so that a cache is re-used between the same job (over different workflow runs), but not shared by two jobs in the same workflow? I'm trying now a different approach. I'm calling Previously, a single job was calling Anyway, CI is building now. |
|
CircleCI has a feature called workspaces, where you can have a filesystem shared between jobs in the same workflow. https://circleci.com/docs/2.0/persist-data/ https://circleci.com/docs/2.0/workflows/#using-workspaces-to-share-data-among-jobs We've used it before to only build docker images once and pass these across jobs. |
7df1c15 to
6d7bab9
Compare
octonato
left a comment
There was a problem hiding this comment.
This is ready for another review.
I added the build dependencies changes we discussed during stand-up.
| filters: # required since publish jobs have tag filters and dependencies | ||
| tags: | ||
| only: /.*/ |
There was a problem hiding this comment.
As discussed during stand-up, we won't run the tests when tagging. That's the default behavior in CircleCI, hence the removal of this config settings.
| - checks | ||
| - validate-docs |
There was a problem hiding this comment.
only starting the tests if the basic validation passes
| - samples-tests | ||
| - tck-tests | ||
| - validate-docs | ||
| - publish |
There was a problem hiding this comment.
only publish maven if main artifacts got published
| - integration-tests | ||
| - tck-tests | ||
| - validate-docs | ||
| - publish |
There was a problem hiding this comment.
I'm wondering why the tck is an apart publishing step. Shouldn't that be just part of the main artifacts?
Anyway, we can change on follow-up PR.
There was a problem hiding this comment.
Nevermind. I forgot that the TCK involves the publishing of a docker image. So, makes sense to have it's own step.
johanandren
left a comment
There was a problem hiding this comment.
LGTM but I don't know circle-ci enough to know if there is still some issue with shared cache whatnot that you discussed during standup.
that's the surprise effect, we will only see if after we merge and try to release :-) |

No description provided.