name: test
on:
push:
branches:
- main
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 - uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 - run: tools/build.sh
- run: git diff --exit-code
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with:
name: build
path: target/release/turtle
unit_test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 - uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 - run: cargo test
integration_test:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 - uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c 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@3d3c42e5aac5ba805825da76410c181273ba90b1 - uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b - uses: homebrew/actions/setup-homebrew@master
- 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'