Solvedupload artifact Open source this action

eine
146

It is surprising that this repo (the scripts and documentation in this project) is licensed under MIT, since there is little to no relevant content to be licensed. However, I'm concerned about this from a practical point of view. I believe that most of the currently open issues (specially #3) could be fixed by the community, should we have any code to look at. It'd be really useful if the glue logic that gathers the artifacts and names them was open sourced, along with some minimal docs about the backend API that this action is using.

12 Answers

✔️Accepted Answer

Sharing an update regarding open-sourcing this action

Sometime around mid-January mid-February we're planning on releasing a v2-beta version of this action. It will be fully open-sourced and written with Node + TypeScript (similar to our other actions such as actions/cache).

Currently this action is a plugin on the runner where it has some extra permissions to do certain things. The majority of the work being done for open-sourcing this involves creating new APIs that will be able to interact with artifacts without being tightly-coupled with the runner. A new open-sourced NPM package will be created that will consume/interact with these APIs (similar to what we have for @actions/core or @actions/io). Both upload-artifact and download-artifact will use this new package.

A lot of the top-requested issues/requests will be addressed such as #11 and #3.

More information and specifics will be shared right around the launch of the v2-beta version. Thank you everyone for your patience

Other Answers:

We are working towards this, our goal is for the community to be able to contribute fixes.

Our runner was recently open-sourced. You can find all of the current code for v1 that is specific to upload-artifact and download-artifact here: https://github.com/actions/runner/tree/master/src/Runner.Plugins/Artifact

Note: All the artifact code in the runner will eventually be removed once v2 is released and v1 becomes deprecated. The code is all currently tied to the runner because there are some env variables that are only available to the runner (you cannot access these from an action). These env variables are used to make the necessary API calls.

Will that code be moved to this repo when it is removed from there?

The code will be split between this repo and a new one we are creating for the upcoming npm package. This action (along with download-artifact) will use the new package to make all of the necessary API calls. The new repo for the npm package will be open-sourced from the very beginning so most of the code will go there, anything else will end up here.