containers-image-proxy 0.10.0

Interact with the github.com/containers/image library via skopeo
Documentation
name: CI

permissions:
  actions: read

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

env:
  CARGO_NET_RETRY: 10
  CARGO_TERM_COLOR: always
  CI: 1
  RUSTUP_MAX_RETRIES: 10
  RUST_BACKTRACE: short

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:
    name: Build+Test
    runs-on: ubuntu-latest
    container: quay.io/coreos-assembler/fcos-buildroot:testing-devel
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest]
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
        with:
          ref: ${{ github.event.pull_request.head.sha }}
          fetch-depth: 20
      - name: Cache Dependencies
        uses: Swatinem/rust-cache@v2
      - name: cargo fmt (check)
        run: cargo fmt -- --check -l
      - name: Compile (no features)
        run: cargo test --no-run
      - name: Compile (all features)
        run: cargo test --no-run --all-features
      - name: Test
        run: cargo test --all-features -- --nocapture --quiet
      - name: cargo clippy (non-gating)
        run: cargo clippy
      - name: Checkout ostree-rs-ext
        uses: actions/checkout@v6
        with:
          repository: ostreedev/ostree-rs-ext
          path: ostree-rs-ext
          fetch-depth: 20
      - name: Test ostree-rs-ext
        run: ./ci/test-ostree-rs-ext.sh