caws 0.1.8

Chaos on AWS Library
Documentation
name: Rust Library Release Pipeline

on:
  push:
    branches: [ main ]

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - name: Build
      run: cargo build --verbose
  test:
    runs-on: ubuntu-latest
    needs: build
    steps:
    - uses: actions/checkout@v3
    - name: Test
      run: cargo test --verbose
  integration-test:
    runs-on: ubuntu-latest
    needs: test
    steps:
    - uses: actions/checkout@v3
    - name: Test
      run: cargo test --verbose -F integration
  release-lib:
    if: contains(github.event.head_commit.message, 'release')
    needs: integration-test
    environment: crates
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - name: Login
      run: cargo login ${{ secrets.CARGO_REGISTRY_TOKEN }}
    - name: Build Release
      run: cargo build --release
    - name: Publish Library
      run: cargo publish
  release-zip:
    if: contains(github.event.head_commit.message, 'release')
    needs: release-lib
    environment: crates
    runs-on: ubuntu-latest
    permissions:
      contents: write
    steps:
    - uses: actions/checkout@v3
    - name: Install Zig
      run: sudo snap install zig --classic --beta
    - name: Install Cargo Lambda
      run: cargo install cargo-lambda
    - name: Build Release
      run: cargo lambda build --release --x86-64 --output-format zip