oci-client 0.16.1

An OCI implementation in Rust
Documentation
name: Build and Test
on:
  push:
    branches:
      - main
  pull_request: {}

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - uses: engineerd/configurator@dc6b312d89ab097f73f3ebbf507a69dd7399c5d0 #v0.0.10
        with:
          name: just
          url: https://github.com/casey/just/releases/download/0.10.2/just-0.10.2-x86_64-unknown-linux-musl.tar.gz
          pathInArchive: just
      - name: Build
        run: |
          just build
          just test

  windows-build:
    runs-on: windows-latest
    defaults:
      run:
        # For some reason, running with the default powershell doesn't work with the `Build` step,
        # but bash does!
        shell: bash
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - uses: engineerd/configurator@dc6b312d89ab097f73f3ebbf507a69dd7399c5d0 #v0.0.10
        with:
          name: just
          url: "https://github.com/casey/just/releases/download/0.10.2/just-0.10.2-x86_64-pc-windows-msvc.zip"
          pathInArchive: just.exe
      - name: Build
        run: |
          just --justfile justfile-windows build
          just --justfile justfile-windows test

  cargo-deny:
    name: Run cargo deny
    runs-on: ubuntu-latest
    strategy:
      matrix:
        checks:
          - advisories
          - bans licenses sources
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - uses: EmbarkStudios/cargo-deny-action@3fd3802e88374d3fe9159b834c7714ec57d6c979 # v2.0.3
        with:
          command: check ${{ matrix.checks }}