gh-action-pypi-publish
release
Our great sponsors
gh-action-pypi-publish | release | |
---|---|---|
5 | 1 | |
834 | 13 | |
3.5% | - | |
8.3 | 9.1 | |
11 days ago | 3 days ago | |
Python | Shell | |
BSD 3-clause "New" or "Revised" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gh-action-pypi-publish
-
PyPI new user and new project registrations temporarily suspended
> Recently I've seen someone on Reddit trying to automate the creation of PyPI projects through GitHub Actions. The person was complaining that the first deployment couldn't use an API key for that project since it didn't exist. So I'm not surprised some people are trying to do the same for malicious purposes.
Sorry for the tangent, but: you can do this now! If you use trusted publishing, you can register a "pending publisher" for a project that doesn't exist yet. When the trusted publisher (like GitHub Actions) is used, it'll create the project[1].
All of this is supported transparently by the official publishing action for GitHub Actions[2].
[1]: https://docs.pypi.org/trusted-publishers/creating-a-project-...
[2]: https://github.com/pypa/gh-action-pypi-publish
-
Publishing to PyPI via GitHub Action
In the documentation example, I see that the action yaml file contains the line uses: pypa/gh-action-pypi-publish@release/v1. I have never done this before and almost went with that, but I am not sure why the example shows v1 hardcoded, so I don't think I actually want this to happen. It doesn't seem to be well explained though, and the pypi-publish action repo was also quiet on this. Is this saying that it will create a release branch in my repo and call the release v1? Or how will this appear after I've done it? Will I have to manually change this v1 to v0.1.1 in the actions file AND the pyproject.toml?
-
"Even with --dry-run pip will execute arbitrary code found in the package's setup.py. In fact, merely asking pip to download a package can execute arbitrary code"
Yeah, you're uploading to PyPi in your pipeline, great. The custom github action still uses twine because the stdlib falls short on BASIC security. https://github.com/pypa/gh-action-pypi-publish/blob/unstable/v1/twine-upload.sh
-
Do you publish pypi source code to Github as well in the same form?
I never bothered with pypi myself but I hope the nudge into github actions helps you. I've found the following promising github action: https://github.com/pypa/gh-action-pypi-publish
- The Python Package Index is now a GitHub secret scanning integrator
release
-
Job creation from an other job with form
My understanding is your looking for several trigger job to trigger a third generic job but with different parameter. We do that on the Jenkins project and you can find an example here where we have a generic release job triggered with different parameter depending if we are doing a weekly release or a stable release. The jcasc for that Jenkins instance is also public if your wondering
What are some alternatives?
build - A simple, correct Python build frontend
rolling-rhino - Rolling Rhino; convert Ubuntu into a rolling release. As seen on YouTube 📺
git-filter-repo - Quickly rewrite git repository history (filter-branch replacement)
tag - Git utility to create tags in order to identify specific releases
git-repo-sync - Git Repo Sync enables you to synchronize code to other code management platforms, such as GitLab, Gitee, etc.
zig-releaser - A simple hack to use GoReleaser to build, release, and publish Zig projects.
amplify-preview-actions - This action deploys your AWS Amplify pull request preview for your public repository
docker-android - Android in docker solution with noVNC supported and video recording
trufflehog - Find and verify credentials
mkdkr - mkdkr = Makefile + Docker
roadmap - GitHub public roadmap
clasp-action - This action uses clasp to push or deploy to Google Apps Script.