gh-action-pypi-publish
clasp-action
gh-action-pypi-publish | clasp-action | |
---|---|---|
5 | 1 | |
844 | 28 | |
2.0% | - | |
8.1 | 0.0 | |
1 day ago | 10 months 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
clasp-action
-
How to get creds.json for login in CI?
It looks like you'll need to make an action that takes `clasprc` credentials, puts them in a `.clasprc.json` file like clasp expects, and then runs clasp commands. I haven't tried this, but here's a GH Action that looks like it does what you want. https://github.com/daikikatsuragawa/clasp-action
What are some alternatives?
build - A simple, correct Python build frontend
go-release-action - Automatically publish Go binaries to Github Release Assets through Github Action.
git-filter-repo - Quickly rewrite git repository history (filter-branch replacement)
bash-action - template action for bash
amplify-preview-actions - This action deploys your AWS Amplify pull request preview for your public repository
gh-action-build-pyromod - GitHub Action that builds a @0ad pyromod file
git-repo-sync - Git Repo Sync enables you to synchronize code to other code management platforms, such as GitLab, Gitee, etc.
GitHub-Downloader-Action - A Github Action to download single files or folders from another repo without cloning.
trufflehog - Find and verify secrets
utils - Utility scripts
release - Contains every things needed to release jenkins core from the jenkins infra project
scripts - Collection of useful scripts for Linux (git, docker, LUKS, Archlinux...)