Comments (7)
One option would be to support a recursive scan of dist/
, even if to only support one level. Currently the action complains about any subdirectory of dist
. A recurse would allow directly chaining the download (like with v3), skipping that flatten step in my example. Then the only change needed to folks' workflows would be to add unique artifact names in the upload step.
from gh-action-pypi-publish.
FWIW, this restriction is inherited from twine
: twine
expects to be given one or more files, which this action does by tacking *
onto the packages-dir
input. The action itself isn't actually aware of nested directories.
from gh-action-pypi-publish.
If using twine
directly then tacking on */*
works: https://github.com/scikit-build/cmake-python-distributions/pull/438/files
from gh-action-pypi-publish.
This is already solved in the download action. Not sure if I want extra pattern matching here.
from gh-action-pypi-publish.
This is already solved in the download action. Not sure if I want extra pattern matching here.
Correct. Just to clarify, download-artifact just released v4.1 which includes a merge-multiple
switch that does the flattening. Now this is sufficient:
- uses: actions/download-artifact@v4
with:
path: dist
merge-multiple: true
This is now just a documentation issue, to update the examples so folks know about this non-default switch.
from gh-action-pypi-publish.
This is now just a documentation issue, to update the examples so folks know about this non-default switch.
So this action doesn't showcase the use of matrices and other complex stuff. Neither does my PyPUG guide.
I suppose, it might be more useful to document it in cibuildwheel: pypa/cibuildwheel#1699.
from gh-action-pypi-publish.
This is now just a documentation issue, to update the examples so folks know about this non-default switch.
So this action doesn't showcase the use of matrices and other complex stuff. Neither does my PyPUG guide. I suppose, it might be more useful to document it in cibuildwheel: pypa/cibuildwheel#1699.
Makes sense. I already have a PR for cibuildwheel docs: pypa/cibuildwheel#1705
from gh-action-pypi-publish.
Related Issues (20)
- OIDC error with reusable workflows HOT 2
- Duplicate alert when uploading wheels HOT 7
- Error: `long_description` has syntax errors in markup and would not be rendered on PyPI HOT 14
- Nudge users to use Trusted Publishers when publishing to PyPI and TestPyPI HOT 5
- `invalid-publisher` error when using reusable workflow HOT 16
- upload fail in middle with `HTTPError: 400; This filename has already been used` HOT 25
- `invalid-publisher`: valid token, but no corresponding publisher HOT 61
- "`invalid-publisher`: valid token, but no corresponding publisher" error, nothing changed on our side HOT 5
- Using self-hosted runners for publishing HOT 7
- Proposal: warn the user on user/password pair use HOT 6
- Trusted publisher exchange failure HOT 1
- Consider removing notice annotations for authentication scheme HOT 6
- Publishing fails if dist/ folder contains a subfolder HOT 4
- Why build action container on every run? HOT 2
- [docs] Emphasize the dangers of enabling `skip-existing` in README
- "Only one sdist may be uploaded per release" with skip-existing enabled HOT 2
- Provide a better troubleshooting message when used from a 3P PR
- Provide a full example of a GitHub Actions config, rather than small little pieces HOT 5
- raise BadZipFile("Bad magic number for central directory") HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gh-action-pypi-publish.