| # Copyright 2024 The IREE Authors |
| # |
| # Licensed under the Apache License v2.0 with LLVM Exceptions. |
| # See https://llvm.org/LICENSE.txt for license information. |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| |
| name: PkgCI Regression Test (NVIDIA GPU CUDA) |
| on: |
| workflow_call: |
| inputs: |
| artifact_run_id: |
| type: string |
| default: "" |
| workflow_dispatch: |
| inputs: |
| artifact_run_id: |
| type: string |
| default: "" |
| |
| jobs: |
| linux_x86_64: |
| name: Linux (x86_64) |
| runs-on: |
| - self-hosted # must come first |
| - runner-group=${{ github.event_name == 'pull_request' && 'presubmit' || 'postsubmit' }} |
| - environment=prod |
| - gpu # TODO(scotttodd): qualify further with vendor/model |
| - os-family=Linux |
| env: |
| PACKAGE_DOWNLOAD_DIR: ${{ github.workspace }}/.packages |
| IREERS_ARTIFACT_DIR: ${{ github.workspace }}/artifacts |
| VENV_DIR: ${{ github.workspace }}/venv |
| steps: |
| - name: Checking out IREE repository |
| uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3.5.0 |
| with: |
| submodules: false |
| - uses: actions/setup-python@61a6322f88396a6271a6ee3565807d608ecaddd1 # v4.7.0 |
| with: |
| # Must match the subset of versions built in pkgci_build_packages. |
| python-version: '3.11' |
| - uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2 |
| with: |
| name: linux_x86_64_release_packages |
| path: ${{ env.PACKAGE_DOWNLOAD_DIR }} |
| - name: Setup venv |
| run: | |
| ./build_tools/pkgci/setup_venv.py ${VENV_DIR} \ |
| --artifact-path=${PACKAGE_DOWNLOAD_DIR} \ |
| --fetch-gh-workflow=${{ inputs.artifact_run_id }} |
| |
| # Note: in-tree tests are omitted from this file. We could run tests |
| # marked for CUDA and 'plat_nvidia_[t4,a100]' (matching the runner used) |
| |
| # Out of tree tests |
| - name: Checking out external TestSuite repository |
| uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3.5.0 |
| with: |
| repository: nod-ai/SHARK-TestSuite |
| ref: 337083616ae6f596c0206a9edd1c47e8afc0e400 |
| path: SHARK-TestSuite |
| submodules: false |
| - name: Installing external TestSuite Python requirements |
| run: | |
| source ${VENV_DIR}/bin/activate |
| python -m pip install -r SHARK-TestSuite/iree_tests/requirements.txt |
| - name: Run external tests - ONNX test suite |
| run: | |
| source ${VENV_DIR}/bin/activate |
| pytest SHARK-TestSuite/iree_tests/onnx/ \ |
| -n 4 -rpfE --timeout=30 --retries=2 --durations=20 \ |
| --config-files=build_tools/pkgci/external_test_suite/onnx_gpu_cuda.json \ |
| --no-skip-tests-missing-files \ |
| --report-log=/tmp/iree_tests_onnx_gpu_cuda_logs.json |
| - name: "Updating config file with latest XFAIL lists" |
| if: failure() |
| run: | |
| source ${VENV_DIR}/bin/activate |
| python SHARK-TestSuite/iree_tests/update_config_xfails.py \ |
| --log-file=/tmp/iree_tests_onnx_gpu_cuda_logs.json \ |
| --config-file=build_tools/pkgci/external_test_suite/onnx_gpu_cuda.json |
| cat build_tools/pkgci/external_test_suite/onnx_gpu_cuda.json |
| - name: "Uploading new config file" |
| if: failure() |
| uses: actions/upload-artifact@v4 |
| with: |
| name: "onnx_gpu_cuda.json" |
| path: "build_tools/pkgci/external_test_suite/onnx_gpu_cuda.json" |