Full test harness #6027
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Full test harness | |
on: | |
pull_request: | |
schedule: | |
- cron: '0 3 * * *' | |
workflow_dispatch: | |
env: | |
CARGO_INCREMENTAL: false | |
FORCE_JAVASCRIPT_ACTIONS_TO_NODE20: true | |
jobs: | |
test-published-crates: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
permissions: | |
id-token: write | |
contents: read | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Configure AWS Credentials | |
# if: github.repository == 'sonos/tract' | |
continue-on-error: true | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
role-to-assume: arn:aws:iam::567805100031:role/github-runner-tract-ci | |
aws-region: us-east-2 | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v4 | |
with: | |
path: | | |
~/.rustup | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
.cached | |
key: ${{ runner.os }}-full-regular-${{steps.date.outputs.date}}-e | |
- name: Full test | |
run: .travis/test-published-crates.sh | |
runtime-based-tests: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
permissions: | |
id-token: write | |
contents: read | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Configure AWS Credentials | |
# if: github.repository == 'sonos/tract' | |
continue-on-error: true | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
role-to-assume: arn:aws:iam::567805100031:role/github-runner-tract-ci | |
aws-region: us-east-2 | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v4 | |
with: | |
path: | | |
~/.rustup | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
.cached | |
key: ${{ runner.os }}-full-regular-${{steps.date.outputs.date}}-e | |
- name: Full test | |
run: .travis/test-rt.sh | |
old-harness: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
permissions: | |
id-token: write | |
contents: read | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Configure AWS Credentials | |
# if: github.repository == 'sonos/tract' | |
continue-on-error: true | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
role-to-assume: arn:aws:iam::567805100031:role/github-runner-tract-ci | |
aws-region: us-east-2 | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v4 | |
with: | |
path: | | |
~/.rustup | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
.cached | |
key: ${{ runner.os }}-full-regular-${{steps.date.outputs.date}}-e | |
- name: Full test | |
run: .travis/test-harness.sh | |
check-all-targets: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v4 | |
with: | |
path: | | |
~/.rustup | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
.cached | |
key: ${{ runner.os }}-all-targets-${{steps.date.outputs.date}}-e | |
- name: Check all targets | |
run: | | |
ROOT=$(pwd) ./.travis/ci-system-setup.sh | |
cargo check --all-targets --workspace --exclude test-metal --exclude tract-metal | |
cli-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v4 | |
with: | |
path: | | |
~/.rustup | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
.cached | |
key: ${{ runner.os }}-full-regular-${{steps.date.outputs.date}}-e | |
- name: Full test | |
env: | |
AWS_EC2_METADATA_DISABLED: true | |
run: .travis/cli-tests.sh | |
onnx-tests: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
opset: [1_4_1, 1_5_0, 1_6_0, 1_7_0, 1_8_1, 1_9_0, 1_10_2, 1_11_0, 1_12_0, 1_13_0] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v4 | |
with: | |
path: | | |
~/.rustup | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
.cached | |
key: ${{ runner.os }}-full-onnx-${{matrix.opset}}-${{steps.date.outputs.date}}-e | |
# - name: "Setup sccache" | |
# run: .travis/setup-sccache.sh | |
- name: Full test | |
run: .travis/onnx-tests.sh ${{ matrix.opset }} | |
tflite: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Full test | |
run: .travis/tflite.sh | |
onnx-with-asserts: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v4 | |
with: | |
path: | | |
~/.rustup | |
~/.cargo/registry | |
~/.cargo/git | |
#~/.cache/sccache | |
target | |
.cached | |
key: ${{ runner.os }}-full-onnx-with-asserts-${{steps.date.outputs.date}}-e | |
- name: With assertions | |
run: | | |
rustup update | |
cargo -q test -q -p test-onnx-core | |
without-default-features: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v4 | |
with: | |
path: | | |
~/.rustup | |
~/.cargo/registry | |
~/.cargo/git | |
#~/.cache/sccache | |
target | |
.cached | |
key: ${{ runner.os }}-full-onnx-with-asserts-${{steps.date.outputs.date}}-e | |
- name: Without default features | |
run: | | |
rustup update | |
cargo check -p tract --no-default-features $CARGO_EXTRA | |
complexes: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v4 | |
with: | |
path: | | |
~/.rustup | |
~/.cargo/registry | |
~/.cargo/git | |
#~/.cache/sccache | |
target | |
.cached | |
key: ${{ runner.os }}-full-onnx-with-asserts-${{steps.date.outputs.date}}-e | |
- name: With complexes | |
run: | | |
rustup update | |
cargo check -p tract-nnef --features complex $CARGO_EXTRA | |
core-paranoid: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v4 | |
with: | |
path: | | |
~/.rustup | |
~/.cargo/registry | |
~/.cargo/git | |
#~/.cache/sccache | |
target | |
.cached | |
key: ${{ runner.os }}-full-core-paranoid-${{steps.date.outputs.date}}-e | |
- name: Core test with paranoid assertions | |
run: | | |
rustup update | |
cargo test -p tract-core --features paranoid_assertions | |
C: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v4 | |
with: | |
path: | | |
~/.rustup | |
~/.cargo/registry | |
~/.cargo/git | |
#~/.cache/sccache | |
target | |
.cached | |
key: ${{ runner.os }}-full-core-paranoid-${{steps.date.outputs.date}}-e | |
# - name: "Setup sccache" | |
# run: .travis/setup-sccache.sh | |
- name: C smoke tests | |
run: | | |
cd api/c | |
cargo install cbindgen | |
make | |
# - name: Stop sccache server | |
# run: sccache --stop-server || true | |
python: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v4 | |
with: | |
path: | | |
~/.rustup | |
~/.cargo/registry | |
~/.cargo/git | |
#~/.cache/sccache | |
target | |
.cached | |
key: ${{ runner.os }}-full-core-paranoid-${{steps.date.outputs.date}}-e | |
# - name: "Setup sccache" | |
# run: .travis/setup-sccache.sh | |
- name: Pytest bindings | |
timeout-minutes: 60 | |
run: | | |
sudo apt-get install -y python3-virtualenv | |
cd api/py | |
virtualenv venv | |
. venv/bin/activate | |
pip install -r requirements.txt | |
python setup.py install | |
pip install pytest | |
pytest . | |
# - name: Stop sccache server | |
# run: sccache --stop-server || true |