patch-release-me 0.6.6

A tool to automate patching of your projects before you release them

ecosystems:
  Docs:
    - Docs
    - Documentation
  Actions:
    - Actions
  Rust:
    - Cargo
  Python:
    - Pip
  JavaScript:
    - NPM
    - NodeJS
    - Yarn
  Containers:
    - Docker

locations:
  - name: "Release File"
    default: true
    paths:
      - .release.yml
      - .release.yaml
    ecosystems:
      - All
    patterns:
      - version:\s*[\"|\']?{version}[\"|\']?

  - name: "Documentation"
    default: true
    ecosystems:
      - Docs
    paths:
      - README.md
      - "**/*.md"
      - "**/*.rst"
    patterns:
      # Containers
      - '(?:ghcr\.io|docker\.io)?[/]?{repository}:v?{version}'
      # GitHub Actions and subpath 
      - uses:\s+{repository}(?:/[A-Za-z0-9_-]+)?@v?{version}

  - name: "GitHub Actions"
    default: true
    ecosystems:
      - Actions
      - GitHub
    paths:
      - .github/workflows/*.yml
      - .github/workflows/*.yaml
    patterns:
      # Reusable Actions
      - uses:\s+{repository}/.github/workflows/.*\.yml@v?{version}

  # Rust
  - name: "Rust Cargo"
    default: true
    paths:
      - "**/Cargo.toml"
    ecosystems:
      - Rust
    excludes:
      - /crates/
      - /target/
      - /examples/
    patterns:
      - \nversion\s*=\s*[\"|\']?{version}[\"|\']?
      - \n{name}\s*=\s*[\"|\']?{version}[\"|\']?
      - \n{name}\s*=\s*\{\sversion\s*=\s*[\"|\']?[^]?{version}[\"|\']?\}

  # Python
  - name: "Python Pyproject"
    default: true
    paths:
      - pyproject.toml
    ecosystems:
      - Python
    patterns:
      - version\s*=\s*[\"|\']?{version}[\"|\']?

  - name: "Python Init / Version"
    default: true
    paths:
      - "**/__init__.py"
      - "**/__version__.py"
    ecosystems:
      - Python
    excludes:
      - "/__pycache__/"
      - "/.venv/"
      - "/public/"
      - "/dist/"
      - "/vendor/"
    patterns:
      - __version__\s*=\s*["|']{version}["|']
  
  # JavaScript / TypeScript
  - name: "Node Package"
    default: true
    paths:
      - "**/package.json"
    excludes:
      - /node_modules/
      - /dist/
    ecosystems: 
      - JavaScript
      - TypeScript
      - NodeJS
    patterns:
      - \"version\":\s+["|']?{version}["|']?

  # Docker
  - name: "Docker File"
    default: true
    paths:
      - "**/Dockerfile"
      - "**/*.Dockerfile"
      - "**/Containerfile"
      - "**/*.Containerfile"
      - "**/docker-compose.yml"
    ecosystems:
      - Docker
      - Containers
    patterns:
      - '(?:ghcr\.io|docker\.io)?[/]?{repository}:v?{version}'

  # CodeQL
  - name: "CodeQL Packs"
    paths:
      - "**/qlpack.yml"
    excludes:
      - /.codeql/
    ecosystems:
      - CodeQL
      - QL
    patterns:
      - version:\s+["|']?{version}["|']?