turtle-build 0.4.4

Ninja-compatible build system for high-level programming languages
name: test
on:
  push:
    branches:
      - main
  pull_request:
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: Swatinem/rust-cache@v2
      - run: tools/build.sh
      - run: git diff --exit-code
      - uses: actions/upload-artifact@v3
        with:
          name: build
          path: target/release/turtle
  unit_test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: Swatinem/rust-cache@v2
      - run: cargo test
  integration_test:
    needs: build
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: ruby/setup-ruby@v1
      - uses: actions/download-artifact@v3
        with:
          name: build
          path: target/release
      - run: chmod +x target/release/turtle
      - run: tools/integration_test.sh
  integration_test_test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: ruby/setup-ruby@v1
      - uses: raviqqe/enable-homebrew@main
      - run: brew install ninja
      - run: mkdir -p target/release
      - run: cp tools/turtle.sh target/release/turtle
      - run: tools/integration_test.sh --tags 'not @turtle'