Central repository for reusable GitHub Actions workflows and composite actions shared across all ITLusions repositories.
| Section | Description |
|---|---|
| Getting Started | How to consume workflows and actions from another repo |
| Versioning | @main vs pinned refs, update strategy |
| Workflows | Reference for all reusable workflows |
| Actions | Reference for all composite actions |
| Guide: Python Library | Full CI/CD pipeline for a Python package |
| Guide: Docker Service | Full CI/CD pipeline for a Docker-based service |
uses: ITlusions/ITL.Github/.github/workflows/<name>.yml@main
| File | Purpose |
|---|---|
NEW: _reusable-python-ci.yml |
Test + lint + build Python wheels (setuptools-scm) |
NEW: _reusable-python-publish.yml |
Smart PyPI/TestPyPI publishing (branch-aware + OIDC + SBOM + attestation) |
_reusable-detect-version.yml |
Determine semver version from branch/tags |
_reusable-ci-python.yml |
Lint + test + wheel build (Python) |
_reusable-ci-docker.yml |
Lint + test + Docker build/push |
_reusable-auto-tag.yml |
Push semver patch tag on main |
_reusable-docker-retag.yml |
Promote image by retagging (no rebuild) |
_reusable-publish-pypi.yml |
Publish wheel to PyPI via OIDC |
_reusable-release-gh.yml |
Create GitHub Release with assets |
_reusable-claude-plugins-ci.yml |
Validate a Claude Code plugin/marketplace manifest |
_reusable-claude-plugin-version-tag.yml |
Subdirectory-scoped semver + tag for one plugin in a multi-plugin repo |
_reusable-claude-plugin-release.yml |
Publish a GitHub Release for one Claude Code plugin |
_reusable-claude-plugins-publish.yml |
Version + tag + release one plugin as a single publish job |
uses: ITlusions/ITL.Github/actions/<name>@main
| Directory | Purpose |
|---|---|
python-publish |
Build, SBOM, attest, publish Python packages (OIDC-compatible) |
dependabot-auto-merge |
Auto-merge Dependabot PRs by update type |
setup-python-env |
Python setup + pip install |
detect-release-type |
Stable vs pre-release detection |