Ci needs keyword improvement
Problem to solve
CI needs
keyword could have been implemented better.
We need to solve the artificial 5 dependencies limit and be able to specify names for the artifacts.
Intended users
Further details
In my case I generate my website in CI. A part of it is grabbing my research papers (compiled with Latex in CI) from other projects. That is, I have 7 papers so far which are downloaded as artifacts from other projects. Currently, I have a bash script which downloads each paper as an API call for artifacts, unzips the PDF and puts it where I need it.
I was very excited when Gitlab introduced needs
with artifacts.
That seemed to directly address my problem.
However, I was first disappointed that there are only 5 artifacts allowed!
Why is that?
I had to replicate my job as put-docs-1
, put-docs-2
, etc.
Besides, there does not seem to be a limit on the size of artifacts.
So this limit of 5 instances is senseless!
It only makes the code uglier, and does not really prevent from "abusing" the network, if one so wishes.
Then I have found that all artifacts are put directly in the project directory given the names of the artifacts themselves. That is, most of my papers have "paper.pdf" as a filename and the files are therefore overridden! By the way, the reason I have same names for the artifacts is using the beautiful CI templates Gitlab offers (I have custom ones, but they apply to all Latex projects). The point is, following Gitlab's best practices I arrived at this issue.
Proposal
First, deal with the limit. We can make it larger (20?), make it configurable on instance/project level, or get rid of it entirely.
Second, deal with name collisions.
Either let me explicitly put the name in CI config, or put the artifact in a file/directory which has a project's path in it - group-project-name.pdf
, or group/project/name.pdf
.
Permissions and Security
N/A
Documentation
Docs should reflect the fixes. If the limits are adjusted or removed, we need to update the docs. If we let one choose a file name or change the way artifacts are downloaded, we need to adjust the docs.
Availability & Testing
What does success look like, and how can we measure that?
For me, my workflow needs to succeed. This feature seems to be designed for my use case as well.
What is the type of buyer?
N/A