Skip to content

Installation

How to install and set up provide.io CI/CD tooling in your project.

Install Pre-commit Hooks Package

The provide-cicd package provides pre-commit hooks for code quality enforcement.

Using pip

pip install provide-cicd
uv pip install provide-cicd

As Development Dependency

Add to your pyproject.toml:

[dependency-groups]
dev = [
    "provide-cicd",
]

Then install:

uv sync

Install Pre-commit Framework

If you don't have pre-commit installed:

# Using pip
pip install pre-commit

# Using UV
uv pip install pre-commit

Configure Pre-commit Hooks

Create .pre-commit-config.yaml in your project root:

repos:
  - repo: https://github.com/provide-io/ci-tooling
    rev: v0.0.1  # Use the latest release tag
    hooks:
      - id: provide-conform
      - id: provide-config-check

Install the hooks:

pre-commit install

Using GitHub Actions

No installation required! GitHub Actions are referenced directly in workflow files.

Pin to Specific Version

- uses: provide-io/ci-tooling/actions/[email protected]

Use Latest Release

- uses: provide-io/ci-tooling/actions/python-ci@main

Note: Pinning to a specific version (e.g., @v0.0.1) is recommended for stability.

Using Reusable Workflows

Reference workflows directly from your workflow files:

jobs:
  ci:
    uses: provide-io/ci-tooling/.github/workflows/[email protected]

Verification

Verify Pre-commit Hooks

Test the hooks manually:

# Run hooks on all files
pre-commit run --all-files

# Run hooks on staged files
pre-commit run

Verify Entry Points

Check that command-line tools are available:

provide-conform --help
provide-config-check --help

Upgrading

Upgrade Pre-commit Hooks Package

# Using pip
pip install --upgrade provide-cicd

# Using UV
uv pip install --upgrade provide-cicd

Update Pre-commit Hook Versions

Update the rev in .pre-commit-config.yaml:

repos:
  - repo: https://github.com/provide-io/ci-tooling
    rev: v0.0.2  # Update to new version
    hooks:
      - id: provide-conform
      - id: provide-config-check

Then update pre-commit:

pre-commit autoupdate

Update GitHub Actions

Update version tags in workflow files:

# Before
- uses: provide-io/ci-tooling/actions/[email protected]

# After
- uses: provide-io/ci-tooling/actions/[email protected]

Requirements

  • Python: 3.11 or higher
  • UV: 0.7.8 or higher (for actions)
  • Git: For pre-commit hooks
  • GitHub: For GitHub Actions

Next Steps