`needs` does not work for parent-child pipelines when one project is private
Update
This issue is not resolved yet, if you encounter this issue please check the workaround example and/or try with public projects.
Problem
needs:project:
does not work to fetch artifacts when the child pipeline is private
I wanted to test https://docs.gitlab.com/ee/ci/yaml/#artifact-downloads-between-pipelines-in-the-same-project which I was not sure it should be in free/core giving the lack of premium
tag. I went to gitlab.com and tested on the linter, and it passed. I created the following repo to test: https://gitlab.com/arcnor/testgitlabdependency and on my other
branch (the one with needs
on .gitlab-ci.yml
) got the following error:
This job depends on other jobs with expired/erased artifacts:
Please refer to https://docs.gitlab.com/ce/ci/yaml/README.html#dependencies
...which is either incorrect or misleading (my artifacts haven't expired or have been erased). I also got #223686 (closed) in case it's important, you can also see the previous job failure about that.
I went to test the same on a free self hosted instance (GitLab CE 13.1.0) and the .gitlab-ci.yml
doesn't even pass linting.
So at this point I'm just confused:
- Should the feature work given my example
.gitlab-ci.yml
?- The example
.gitlab-ci.yml
will lint correctly because the linter does not do a license check but may not work if your license does not support the feature.
- The example
- Should the feature work at all on GitLab.com?
- Yes it should work.
- Should the feature work at all on a self hosted CE instance?
- Yes
- Should there be any differences between self-hosted CE and GitLab.com? (I guess the answer is no, but at this point after a few similar bugs I'm not so sure, and I feel I should have gone with a self-hosted free EE instead...)
- No.
Thanks for your time.