RL006: GitTagExists

Overview

Property Value
ID RL006
Name GitTagExists
Group release
Severity WARNING

Description

Checks that a git tag exists for the current version.

Missing git tags can cause:

  • Difficulty tracking what code was released
  • Broken release automation workflows
  • Incomplete release documentation
  • Issues with version-based tooling

What it checks

The check verifies that a git tag matching the version in pyproject.toml exists:

# pyproject.toml
[project]
version = "1.2.3"

The check looks for either:

  • v1.2.3 (with ā€˜v’ prefix - most common)
  • 1.2.3 (without prefix)

How to fix

Create a git tag for your version:

Create and push a tag

# Create an annotated tag (recommended)
git tag -a v1.2.3 -m "Release version 1.2.3"

# Push the tag to remote
git push origin v1.2.3

Using lightweight tags

# Create a lightweight tag
git tag v1.2.3

# Push to remote
git push origin v1.2.3

Tagging a specific commit

# Tag a previous commit
git tag -a v1.2.3 abc1234 -m "Release version 1.2.3"

Automated releases

Consider using release automation:

# .github/workflows/release.yml
on:
  push:
    tags:
      - 'v*'
jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Build and publish
        run: |
          python -m build
          twine upload dist/*

Configuration

Skip this check

[tool.pycmdcheck]
skip = ["RL006"]

CLI

pycmdcheck --skip RL006