librtmp2 0.1.1

librtmp2 — RTMP/RTMPS protocol library
Documentation
name: ABI Compliance Check

on:
  pull_request:
  push:
  workflow_dispatch:

jobs:
  semver-check:
    name: cargo-semver-checks
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
        with:
          fetch-depth: 0

      - name: Install dependencies
        run: sudo apt-get update && sudo apt-get install -y libssl-dev pkg-config

      - name: Install Rust
        uses: dtolnay/rust-toolchain@stable

      - uses: Swatinem/rust-cache@v2

      - name: Install cargo-semver-checks
        uses: taiki-e/install-action@cargo-semver-checks

      - name: Determine baseline ref
        id: baseline
        run: |
          PREV_TAG=$(git tag --list 'v*' --sort=-version:refname | grep -vx "${GITHUB_REF#refs/tags/}" | head -1 2>/dev/null || echo "")
          if [ -z "$PREV_TAG" ]; then
            echo "No previous release tag found. Skipping semver comparison."
            echo "skip=true" >> "$GITHUB_OUTPUT"
          else
            echo "Comparing against $PREV_TAG"
            echo "skip=false" >> "$GITHUB_OUTPUT"
            echo "tag=$PREV_TAG" >> "$GITHUB_OUTPUT"
          fi

      - name: Run cargo-semver-checks
        if: steps.baseline.outputs.skip == 'false'
        run: cargo semver-checks --baseline-rev "${{ steps.baseline.outputs.tag }}"