Securely install the latest twine release from PyPI.
This action installs a pinned version of twine and all its dependencies, making sure that file hashes match. Pinning your dependencies:
- Stops software supply chain attacks.
- Makes sure your CI does not break unexpectedly.
In your GitHub Actions workflow, use this action like so:
- name: Install twine from PyPI
uses: install-pinned/twine@3ef37b0ef1f2e9ec2d5e641570140ec9dc1d3ce6 # 6.1.0
You can set up Dependabot so that your pins are updated regularly.
This action is a relatively simple wrapper around uv and is most useful if there is no existing requirements.txt
/uv.lock
/... infrastructure in place. If you already pin all your dependencies in a single place, you don't need it!
See the @install-pinned README for details.