-
Notifications
You must be signed in to change notification settings - Fork 222
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
ci: Fix python upload #4563
ci: Fix python upload #4563
Conversation
It was trying to upload directories: https://github.com/PRQL/prql/actions/runs/9432185880/job/25981724946#step:3:54 This limits it to the wheel and source extensions
Looks like it didn't upload anything :( https://github.com/PRQL/prql/actions/runs/9432813673/job/25983251820#step:3:38 Edit: Maybe it should be a single star rather than a double star? |
As I commented before, I believe it fails because it does not merge the artifacts. |
If I understand correctly, the solution here is to merge the artifacts and download them to the target directory of the maturin action. |
OK sorry, clearly I am wrong in some way! Though re the merging, I was relying on, from here, my emphasis:
|
Yeah something like this seems likely — I added some file listings in #4568 I'm not completely confident it's not the artifacts but it does have files — the previous one failed because there were too many files... |
It looks like maturin's action just doesn't pick up globs at all: https://github.com/PRQL/prql/actions/runs/9439404299/job/25997680563?pr=4568 Though when it was just |
I do not know how important efficiency is to you as it is something that is rarely executed. |
But the suggested migration docs state those should only be used "outside the runner environment, like downloads via the UI or REST API.", no? And the files are there — they do download — it's the maturin action that doesn't seem to find them given a glob... |
But you didn't follow the migration doc. Did you? |
In my opinion, it makes more sense to adopt a method that is sure to succeed, even if it is inefficient. |
But I think I did! They're all different names now. And they're all listed when we list the files after downloading the artifacts — https://github.com/PRQL/prql/actions/runs/9439404299/job/25997680563?pr=4568#step:3:7 What would you look at to assess whether the artifact download isn't working vs. the maturin glob isn't working? |
That is not what I have been pointing out for a month. |
@max-sixty Please read the documentation carefully. You are not making the changes as described in the Migration Guide. jobs:
upload:
strategy:
matrix:
runs-on: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.runs-on }}
steps:
- name: Create a File
run: echo "hello from ${{ matrix.runs-on }}" > file-${{ matrix.runs-on }}.txt
- name: Upload Artifact
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
- name: my-artifact
+ name: my-artifact-${{ matrix.runs-on }}
path: file-${{ matrix.runs-on }}.txt
download:
needs: upload
runs-on: ubuntu-latest
steps:
- name: Download All Artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
- name: my-artifact
path: my-artifact
+ pattern: my-artifact-*
+ merge-multiple: true
- run: ls -R my-artifact |
This is true! This does seem to be the problem — maturin can't use any glob apart from
I apologize. I agree you said it wouldn't work and it indeed doesn't work. I had thought you were suggesting to use https://github.com/actions/upload-artifact/blob/main/merge/README.md, which seems different from the most recent comment. I am genuinely trying to find out which part isn't updated... |
Chronologically, the ability to merge multiple artifacts was not implemented immediately after the release of v4. These features and the Migration Guide were added later. I think the migration guide now accurately reflects the situation - I think you need to review the workflow when it was working well in v3 and migrate to v4. |
I see. FWIW I realize that often I move too fast and you find a mistake of mine. Given that, I should recognize that you are likely to be correct when you point something out... Let's see how #4577 goes; it should put everything in the same dir; otherwise we can do a separate merge step etc |
It almost worked, but now we get an auth error; I think because it's using Charlie's old auth. When I get pypi/support#4179 fixed, I'll update with my auth... |
Glad to hear it. Another question is whether PyPI can configure releases from a tied GitHub repository without a secret. |
Yes this is much better, thanks. I still think I need to get access to my PyPI account (I'm very confused why I'm locked out — I logged in for other projects a few months ago, and I don't see any changes in my 1Password history...). So when that happens I'll try to switch to the new method |
It looks like both account recovery and PEP 541 requests at PyPI are severely delayed (the backlog is large and triage can take months). I'm wondering -- is there something we could do in the interim to get the latest release up on PyPI somehow? Could we continue to use |
Yes, sorry about this. I'm really not sure how the 2FA error happened. Good idea re We could publish to It can be installed with |
I understand! I read through several discussion threads and know that this is a fairly common problem. It also prompted me to double-check my own PyPI credentials and recovery codes 😅 Here's to hoping your account recovery is speedy. For me personally, I think we shouldn't publish to We should probably, though, create a tracking issue for this so that other people are aware that the Python release will be lagging, pending resolution of at least one of these PyPI requests. Maybe if there are others who need a recent release, we can do something like a temporary publish. |
Sorry for the delay, I created the issue: #4943 |
It was trying to upload directories: https://github.com/PRQL/prql/actions/runs/9432185880/job/25981724946#step:3:54
This limits it to the wheel and source extensions