ocidir 0.7.2

A Rust library for reading and writing OCI (opencontainers) layout directories
Documentation
name: Rust
on:
  push:
    branches: [main]
  pull_request:
    branches: [main]
permissions:
  contents: read

# don't waste job slots on superseded code
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

env:
  CARGO_TERM_COLOR: always

jobs:
  semver-checks:
    name: Semver Checks
    runs-on: ubuntu-24.04
    steps:
    - uses: actions/checkout@v6
    - uses: obi1kenobi/cargo-semver-checks-action@v2
      with:
        # Pinned until cargo-semver-checks supports rustdoc format v57 (Rust 1.93+)
        rust-toolchain: "1.92.0"

  build-test-lint:
    name: Build, Test & Lint
    runs-on: ubuntu-latest
    steps:
      - name: Check out repository
        uses: actions/checkout@v6
      - name: Set up Rust
        uses: bootc-dev/actions/setup-rust@main
      - name: Install tools
        uses: taiki-e/install-action@v2
        with:
          tool: just
      - name: Install rustfmt and clippy
        run: rustup component add rustfmt clippy
      - name: just ci
        run: just ci
      - name: just selftest
        # The selftest pulls from Docker Hub which may rate-limit shared
        # GitHub runner IPs. Don't let transient registry failures block CI.
        continue-on-error: true
        run: just selftest