name: ci
on:
  pull_request:
  push:
    branches:
      - "main"
env:
  CARGO_TERM_COLOR: always
  AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
  AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Update rust toolchain
        run: rustup update stable && rustup default stable
      - name: Set up cargo cache
        uses: actions/cache@v3
        continue-on-error: false
        with:
          path: "~/.cargo/bin/\n~/.cargo/registry/index/\n~/.cargo/registry/cache/\n~/.cargo/git/db/\ntarget/"
          key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
          restore-keys: ${{ runner.os }}-cargo
      - name: Set up QEMU
        uses: docker/setup-qemu-action@v2
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v2.0.0
      -
        name: Expose GitHub Runtime
        uses: crazy-max/ghaction-github-runtime@v2
      - name: Run dagger [CI]
        run: |
          export _EXPERIMENTAL_DAGGER_CACHE_CONFIG="type=gha,mode=max,url=$ACTIONS_CACHE_URL,token=$ACTIONS_RUNTIME_TOKEN"
          cargo run -p ci -- pr
