prima_bridge 0.29.0

A library to implement the bridge pattern
Documentation
name: CI

on:
  push:
    branches:
      - master
  pull_request:

concurrency:
  group: ci-${{ github.head_ref || github.ref }}
  cancel-in-progress: true

env:
  CARGO_TERM_COLOR: always

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: rustup default 1.91.0
      - run: rustup component add clippy rustfmt
      - uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # ratchet:Swatinem/rust-cache@v2
      - uses: taiki-e/install-action@1e67dedb5e3c590e1c9d9272ace46ef689da250d # v2.67.27
        with:
          tool: cargo-make,cargo-deny@0.19
      - run: cargo make fmt-check
      - run: cargo make clippy
      - run: cargo make deny-check
      - run: cargo make docs
  test:
    services:
      aws:
        image: motoserver/moto:5.1.21
        env:
          # Set up moto in a way that matches localstack
          MOTO_PORT: 4566
          MOTO_ACCOUNT_ID: "000000000000"
        ports:
          - "4566:4566"
    env:
      AWS_ACCESS_KEY_ID: test
      AWS_SECRET_ACCESS_KEY: test
      AWS_ENDPOINT_URL: http://localhost:4566
      AWS_REGION: eu-west-1
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: rustup default 1.91.0
      - uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # ratchet:Swatinem/rust-cache@v2
      - uses: taiki-e/install-action@ae532dedd825648efd18d9c49c9a443d0398ca0a # ratchet:taiki-e/install-action@cargo-make
      - run: cargo make test

  alls-green:
    if: always()
    runs-on: ubuntu-latest
    needs:
      - lint
      - test
    steps:
      - run: ${{ !contains(needs.*.result, 'failure') }}