granit-parser 0.0.2

A YAML parser in pure Rust with strict compliance
Documentation
name: API 0.0.1 compatibility

on:
  push:
    branches: ["master"]
  pull_request:
    branches: ["master"]
  workflow_dispatch:

permissions:
  contents: read

env:
  BASELINE_REF: "0.0.1"

jobs:
  semver:
    name: cargo-semver-checks
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v5
        with:
          fetch-depth: 0
          fetch-tags: true

      - name: Locate API baseline
        id: baseline
        shell: bash
        run: |
          set -euo pipefail

          if git rev-parse --quiet --verify "${BASELINE_REF}^{commit}" >/dev/null; then
            echo "skip=false" >> "${GITHUB_OUTPUT}"
            echo "rev=${BASELINE_REF}" >> "${GITHUB_OUTPUT}"
            echo "Using API baseline ${BASELINE_REF}."
          else
            echo "skip=true" >> "${GITHUB_OUTPUT}"
            echo "Baseline ${BASELINE_REF} does not exist yet; skipping API compatibility check."
          fi

      - name: Install Rust
        if: steps.baseline.outputs.skip == 'false'
        uses: dtolnay/rust-toolchain@stable

      - name: Check public API compatibility
        if: steps.baseline.outputs.skip == 'false'
        uses: obi1kenobi/cargo-semver-checks-action@v2
        with:
          baseline-rev: ${{ steps.baseline.outputs.rev }}