oci-zero 0.3.0

A no-std, allocation-free streaming core for OCI registries
Documentation
name: PR title

on:
  pull_request:
    types:
      - opened
      - edited
      - reopened
      - synchronize

permissions:
  pull-requests: read

# Cancel superseded runs when a PR title is edited repeatedly.
concurrency:
  group: pr-title-${{ github.event.pull_request.number }}
  cancel-in-progress: true

jobs:
  conventional:
    name: Conventional Commits
    runs-on: ubuntu-latest
    steps:
      # Enforce that the PR title is a valid Conventional Commit, since it
      # becomes the squash-merge commit message that release-plz parses.
      - uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          types: |
            feat
            fix
            perf
            refactor
            docs
            test
            ci
            build
            chore
          # Optional scopes; when present they should be a crate name. The two
          # `publish = false` crates are listed too -- they never appear in a
          # changelog, but a PR touching only them should still be able to say so.
          scopes: |
            oci-zero
            gzip-zero
            zstd-zero
            oci-zero-web
            oci-zero-no-std-extract
          requireScope: false
          subjectPattern: ^(?![A-Z]).+$
          subjectPatternError: |
            The subject "{subject}" must start with a lowercase letter and use
            the imperative mood, e.g. "fix(gzip-zero): reject corrupt header CRC".