podded 0.7.0

Zero-copy types for constraint environments
Documentation
name: Build Crate

on:
  workflow_call:
    inputs:
      rust:
        type: string
  workflow_dispatch:
    inputs:
      rust:
        description: Rust version
        default: 1.89.0
        required: true
        type: string

env:
  CACHE: true

jobs:
  build_programs:
    name: Build
    runs-on: ubuntu-latest
    steps:
      - name: Git checkout
        uses: actions/checkout@v3

      - name: Load environment variables
        run: cat .github/.env >> $GITHUB_ENV

      - name: Install Rust
        uses: metaplex-foundation/actions/install-rust@v1
        with:
          toolchain: ${{ inputs.rust || env.RUST_VERSION }}

      - name: Cache Rust client dependencies
        uses: metaplex-foundation/actions/cache-crate@v1
        with:
          folder: .
          key: crate-build

      - name: Run cargo clippy
        uses: actions-rs/cargo@v1
        with:
          command: clippy
          args: --all-targets --all-features --no-deps

      - name: Build programs
        shell: bash
        run: cargo build