-
Notifications
You must be signed in to change notification settings - Fork 722
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Try out v2-preview #62
Comments
Any chance of this being added? #55 |
@Margen67 I left a comment in the issue. It is a feature that we will be able to add in the future once this is out of preview. Not adding support for this now though. I'm trying to keep the amount of new features in |
Working great for me. I did have one minor thing; I wanted to use this config to hoover up a bunch of text files in the current working directory: - uses: actions/upload-artifact@v2-preview
with:
name: receipts
path: *-rcpt.txt ...but that wildcard expression conflicts with yaml aliases (and the web editor indicated as much by underlining the path line in red and giving the hover text path: ./*-rcpt.txt ...but it might be worth a line in the docs like:
|
Thanks for the notice @glvnst! I've updated the |
Hi, is it possible to upload multiple files w/ their original name - w/o being zipped? something like this:
The reason is I would like to access log.html and report.html directly in the browser w/o having to download .zip archive + unzip it locally + open it in browser to view it |
besides my request above I tried w/
works fine, creates a robot_results.zip w/ (in my case) three files in it as you can see here |
See my comment regarding uploading individual files. All files get uploaded individually without getting zipped. The problem is that in our UI we don't currently support downloading files individually (or browsing them) so we zip everything together at the end. We have plans to significantly enhance the UI experience for artifacts though😊 Also, multiple paths will come after the preview is over, see my comment here for more info |
@konradpabjan are all artifacts scoped to the current commit? Can I download an artifact from another branch? I totally lack the exact definition of what artifact is somewhere in |
@krzkaczor generated artifacts are scoped to an individual workflow run (a run can be triggered by a variety of events: https://help.github.com/en/actions/reference/events-that-trigger-workflows). Both caching and artifacts can be used to share data between jobs, though the main difference is that artifacts can be downloaded after the run has finished so data remains persistent. See: https://help.github.com/en/actions/configuring-and-managing-workflows/persisting-workflow-data-using-artifacts It is currently not possible to download an artifact that was generated in another run using either of the artifact actions, see: actions/download-artifact#3 There is an API though that you can use to download artifacts that is independent of any of the artifact actions: https://developer.github.com/v3/actions/artifacts/#download-an-artifact |
Hey @konradpabjan is there any chance that we could get the URL of the artifact so that we can use it to drop a comment in the PR for example? I think that would be amazingly useful. |
I'd really like to reference artifact url once it has been uploaded. The reason is that one artifact depends on another |
@espipj @domenkozar Right now it's not possible to return the URL. The URL gets dynamically generated after the run get completed. We currently have some limitations in our backend. Some extra info |
Is it possible we add a feature not compress files ? My problem is that my file is already a compress file. Related code: https://github.com/gengjiawen/node-github-workflow/pull/1/files. |
Tested this out with - name: Upload artifact
uses: actions/upload-artifact@v2-preview
with:
# Artifact name
name: NugetPackages
# Directory containing files to upload
path: "**/Paramore.Brighter.*.nupkg" And it works |
@gengjiawen See my earlier comment regarding zipping. It's a limitation with our UI currently so they will still appear compressed: #62 (comment) @holytshirt if the provided path has a wildcard, everything past the first wildcard character will be used in the path for the artifact (I should probably document this behavior). Basically if you have something like this:
and there are 3 files found, the upload structure would look like this
Throwing everything into a single folder with an optional flag could be an enhancement/addition post |
Hi! Tried to use this for Cypress screenshots with: - uses: actions/upload-artifact@v2-preview
if: failure()
with:
name: cypress-screenshots
path: "cypress/screenshots/*/*.png"
But the screenshot filenames are like
which fails with
Got the same error even without the glob: - uses: actions/upload-artifact@v2-preview
if: failure()
with:
name: cypress-screenshots
path: "cypress/screenshots/"
|
Greetings all, I seem to be getting a 403 error when uploading an artifact. Here are the logs:
Basically I'm just trying to test an upload using the code provided in this Repo's Guide.
Has anyone else experienced this? Any help would be greatly appreciated. Thank you. |
@esamattis it looks like you have whitespace in your files. Information about forbidden characters: https://github.com/actions/toolkit/blob/master/packages/artifact/docs/additional-information.md#non-supported-characters @ledesmaromeo Do you have a link to the failing run or a repository name? I can take a look at our telemetry. If it's a private repo you can email me at |
@konradpabjan - same issue here. Which servers is the artifact upload/download trying to reach? Retrying the upload gives the same error. |
@ledesmaromeo Telemetry is showing that you've exceeded the amount of storage that is available. There are limits based on the type of account that you have: https://help.github.com/en/github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-github-packages @mathieudevos I'm guessing you're hitting the same error. Artifacts get auto-deleted after 90 days. You can also manually delete artifacts through the UI though it usually takes a couple of hours for the changes to propagate in billing (there is a lot of work that we would like to do around retention since it's a pretty big customer pain point right now) I'll add a clearer warning when a 403 is hit since it's completely ambiguous right now what is going on. The server/endpoints that are being hit are pretty much identical to |
Alright, adding steps so that we can clear them faster would be easier. E.g. on dev/feat branches they only need to store the artifacts for an hour, but on my master branch I'd like to keep them much longer. Is there also an option to constantly remove the artifacts? For example: download & remove in one operation? Thanks for the quick debugging! |
It still uploads a zip instead of the single file. am i doing anything wrong here? You can see it Here |
@mathieudevos we currently don't have a first class experience to constantly remove artifacts. There are some issues open to track these scenarios: https://github.com/actions/upload-artifact/issues?q=is%3Aissue+is%3Aopen+label%3Aretention @anshuman852 The zip that you download from the UI is created independently of how the artifact is uploaded. It's more of a limitation of our UI and we currently don't support downloading individual files. See my comment here for more information. |
An update has rolled out to the The package update mostly contains fixes related to artifact download but some things related to upload are also in. I've updated the |
If it can't find any files, it only gives a warning: https://github.com/Margen67/Test/runs/576666010?check_suite_focus=true#step:2:4 This should probably be an error. |
How do I upload the root directory of a repository as an artifact? I need to do this to upload a repository's files as they originially exist, but with some compiled native libraries added. With the upload path set to
|
There has been a small update to the Everything is looking 👍 and next week if we are planning on officially releasing @Margen67 If no files are found then it's usually an indication that the user provided path is wrong rather than something being busted with artifact upload (such as a failed connection or http call). The warning should be sufficient to give users a heads up they should check their path. Of course we could add an extra option or something in the future. @Calinou Make sure you're using the |
@Calinou 🤔 It does appear that |
As suggested in similar issues whith large uploads failing, try using the rewrite. More info here: * actions/upload-artifact#62 * actions/download-artifact#23 * actions/upload-artifact#29 (comment)
You can now use it by doing Moving forward it should be a lot easier now to accept contributions and add features since this effectively decouples artifact upload from the runner |
The v2-preview of upload-artifact is out and we need your help!
You can try it out by using
actions/upload-artifact@v2-preview
Any associated code and documentation can be found here: https://github.com/actions/upload-artifact/tree/v2-preview
This issue is for general feedback and to report an bugs/issues during the preview
There is also a
v2-preview
fordownload-artifact
😀 see: actions/download-artifact#23Warning: At any time during the preview, there may be unannounced changes that can cause things to break. It is recommended not to use the preview of this action in critical workflows
Historical Context around v2-preview and v1
The
v1
versions ofupload-artifact
(anddownload-artifact
) are plugins that are executed by the runner. The code forv1
can be found here: https://github.com/actions/runner/tree/master/src/Runner.Plugins/ArtifactThe
v1
code is written in C# and is tightly coupled to the runner, it also uses special APIs that only the runner can use to interact with artifacts. If any changes or updates had to be made related to artifacts, they had to done on the runner and a new release had to roll out that would take a significant amount of time. With v2, there is no dependency on the runner so it will be much easier and faster to make changes and accept community contributions (right now it was pretty much impossible).The
v2-preview
of upload-artifact has been rewritten from scratch using Typescript with a new set of APIs that allow it interact with artifacts (previously only the runner could do this). There is a new NPM package called@actions/artifact
that contains the core functionality to interact with artifacts (which this action uses for the most part). This NPM package is hosted in theactions/toolkit
repo so anyone can use this to interact with artifacts when developing actions. You can find the package here (lots of documentation and extra info):https://www.npmjs.com/package/@actions/artifact
https://github.com/actions/toolkit/tree/master/packages/artifact
Further work
Since
v2-preview
is effectively a total rewrite fromv1
, There is a huge potential for bugs so it needs to be tested thoroughly before creating an actualv2
release. We need help testing the core functionality which includes:There will be no new features added as part of the
v2-preview
, we need to test the core functionality first and once av2
release is out, then we can start chipping away at issues/features that we have been unable to address withv1
🙂 For the moment, please don't submit PRs for any new features to thev2-preview
branch.Some initial observations from some internal testing show that
v2-preview
is slightly slower thanv1
(around 10-15%). A large part of this discrepancy can be attributed to porting over from C# to Node. In C#, the runner would upload artifacts with Async Tasks and true multi-threading. With Node, the HTTP pipeline is not as efficient (we would love some help over in the toolkit repo for@actions/artifact
if anyone is really good with TS, Aysnc/Await and HTTP pipelining to hopefully make this better)The text was updated successfully, but these errors were encountered: