ci-starter
Kickstarts the semantic release pipeline for your Python project on GitHub. It creates a configuration file semantic-release.toml for python-semantic-release and a pipeline with reusable workflows in .github/workflows.
Usage
Prerequisites
You will have to do the flollowing things yourself:
- Create your project:
- Use uv to initialize your project (must be a package)
- Fill it with some minimally meaningful content, I recommend:
- set version to
0.0.0 - project urls
- keywords
- classifiers
- license
- set version to
- Add a dependency group for running tests (group shall contain at least your test runner, e.g. pytest)
- Fill it with some minimally meaningful content, I recommend:
- Create tests (CI/CD pipeline would fail if no tests are found)
- Format and check everything with ruff
- Set up a trusted publisher for your project on pypi.org:
- Workflow:
continuous-delivery.yml(default workflow name) - Environment name:
pypi
- Workflow:
- Set up a trusted publisher for your project on test.pypi.org:
- Workflow:
continuous-delivery.yml - Environment name:
testpypi
- Workflow:
- Create a GitHub repository for your project
- Add remote origin and its ssh address at your local clone
- Use uv to initialize your project (must be a package)
Create CI/CD Pipeline With ci-starter
Run these commands:
$ ci-starter psr-config
$ ci-starter workflows
$ ci-starter update-actions
The psr-config command creates the semantic-release.toml, the second one creates the workflow files (.github/workflows/*.yml), the third one fetches the current versions of the GitHub Actions used in the workflow files and updates the workflow files accordingly.
It is your responsibility to check whether it is safe to use the suggested current versions of the GitHub Actions (beware of supply chain attacks).
Metadata
Release files for ci-starter 0.11.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ci_starter-0.11.1.tar.gz | 13.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ci_starter-0.11.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.8 kB
Release files / ci_starter-0.11.1.tar.gz
| Download URL | ci_starter-0.11.1.tar.gz |
|---|---|
| Size | 13.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d29a8c3a63e3786b5762a6aa7c278704e23af112d7669287aa478fef16bc6ecf
|
|
BLAKE2b-256 checksum How to use checksums |
12072e4e3c5d54a3da94b4ba9ab5bead7984edb2cde71ca8b5bdb195d235ab19
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 16, 2026.
Transparency logRelease files / ci_starter-0.11.1-py3-none-any.whl
| Download URL | ci_starter-0.11.1-py3-none-any.whl |
|---|---|
| Size | 22.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
68d138072a215db0cb1b09e4043853880937f6c16535263c4de5593904862100
|
|
BLAKE2b-256 checksum How to use checksums |
7ad5a8c744519cc9765e19197f5132ba5dad46b0ee52dec14790b57a3d49aab0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 16, 2026.
Transparency log