Complete the CI tests. #2
Workflow file for this run
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: Unit Tests (CI) | ||
on: | ||
pull_request: | ||
branches: | ||
- main | ||
push: | ||
branches: | ||
- main | ||
workflow_dispatch: | ||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name == 'workflow_dispatch' }} | ||
cancel-in-progress: true | ||
jobs: | ||
run_tests: | ||
name: Test (${{ matrix.python_version }}-${{ matrix.tf_version }}-${{ matrix.opset_version }}-${{ matrix.os }}) | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: ['ubuntu-latest', 'windows-2022'] | ||
tf_version: ['2.9.0', '2.15.0'] | ||
python_version: ['3.9'] | ||
opset_version: ['18', '15'] | ||
ort_version: ['1.16.3'] | ||
onnx_version: ['1.16.1'] | ||
skip_tflite: ['False'] | ||
include: | ||
- tf_version: '2.9.0' | ||
python_version: '3.8' | ||
- tf_version: '2.15.0' | ||
python_version: '3.10' | ||
- tf_version: '1.15.5' | ||
python_version: '3.7' | ||
os: 'ubuntu-latest' | ||
opset_version: '15' | ||
ort_version: '1.14.1' | ||
onnx_version: '1.14.1' | ||
skip_tflite: 'True' | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- name: Set up Python (${{ matrix.python_version }}) | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python_version }} | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
- name: Install dependencies (TF-v${{ matrix.tf_version }}) | ||
shell: bash | ||
run: | | ||
chmod +x ./tests/utils/setup_test_env.sh | ||
./tests/utils/setup_test_env.sh ${{ matrix.tf_version }} ${{ matrix.ort_version }} ${{ matrix.onnx_version }} | ||
- name: Fix Paths (Windows only) | ||
if: runner.os == 'Windows' | ||
run: | | ||
$site_dir = python -c "import site; print(site.getsitepackages()[1])" | ||
echo "##vso[task.prependpath]$site_dir\numpy\.libs" | ||
$base_dir = python -c "import site; print(site.getsitepackages()[0])" | ||
echo "##vso[task.prependpath]$base_dir/Library/bin" | ||
- name: Run unit_test (Linux) | ||
if: runner.os == 'Linux' | ||
run: | | ||
export TF2ONNX_TEST_BACKEND=onnxruntime | ||
export TF2ONNX_TEST_OPSET=${{ matrix.opset_version }} | ||
export TF2ONNX_SKIP_TFLITE_TESTS=${{ matrix.skip_tflite }} | ||
export TF2ONNX_SKIP_TFJS_TESTS=True | ||
export TF2ONNX_SKIP_TF_TESTS=False | ||
python -m pytest --cov=tf2onnx --cov-report=term --disable-pytest-warnings -r s tests --cov-append --junitxml=junit/test-results.xml | ||
ls | ||
- name: Run unit_test (Windows) | ||
if: runner.os == 'Windows' | ||
run: | | ||
set TF2ONNX_TEST_BACKEND=onnxruntime | ||
set TF2ONNX_TEST_OPSET=${{ matrix.opset_version }} | ||
set TF2ONNX_SKIP_TFLITE_TESTS=${{ matrix.skip_tflite }} | ||
set TF2ONNX_SKIP_TFJS_TESTS=True | ||
set TF2ONNX_SKIP_TF_TESTS=False | ||
python -m pytest --cov=tf2onnx --cov-report=term --disable-pytest-warnings -r s tests --cov-append --junitxml=junit/test-results.xml | ||
ls | ||
- name: Upload Test Results | ||
if: always() | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: Test Results (${{ matrix.tf_version }}-${{ matrix.python_version }}-${{ matrix.os }}) | ||
path: ./**/test-results-*.xml | ||
publish-test-results: | ||
name: "Publish Tests Results to Github" | ||
needs: run_tests | ||
runs-on: ubuntu-latest | ||
permissions: | ||
checks: write | ||
pull-requests: write | ||
if: always() | ||
steps: | ||
- name: Download Artifacts | ||
uses: actions/download-artifact@v3 | ||
with: | ||
path: artifacts | ||
- name: Publish Test Results | ||
uses: EnricoMi/publish-unit-test-result-action@v2 | ||
with: | ||
files: "artifacts/**/*.xml" |