Skip to content

Refactor CI jobs for adding required jobs in Actions. #41

Refactor CI jobs for adding required jobs in Actions.

Refactor CI jobs for adding required jobs in Actions. #41

name: Keras2onnx Unit Test (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:
Test_min_py_with_min_tf: # Do not change this name because it is used in Ruleset of this repo.
strategy:
fail-fast: false
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run Tests (Py38-TF2.9)
uses: ./.github/actions/keras_unit_test
with:
tf_version: '2.9.0'
python_version: '3.8'
ort_version: '1.16.3'
onnx_version: '1.16.1'
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v3
with:
name: Test Results (Py38-TF2.9-ubuntu)
path: ./**/test-results-*.xml
Test_max_py_with_latest_tf: # Do not change this name because it is used in Ruleset of this repo.
strategy:
fail-fast: false
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run Tests (Py310-TF2.15)
uses: ./.github/actions/keras_unit_test
with:
tf_version: '2.15.0'
python_version: '3.10'
ort_version: '1.16.3'
onnx_version: '1.16.1'
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v3
with:
name: Test Results (Py310-TF2.15-ubuntu)
path: ./**/test-results-*.xml
Test_py37_with_tf1_15: # Do not change this name because it is used in Ruleset of this repo.
strategy:
fail-fast: false
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run Tests (Py37-TF1.15)
uses: ./.github/actions/keras_unit_test
with:
tf_version: '1.15.5'
python_version: '3.7'
ort_version: '1.14.1'
onnx_version: '1.14.1'
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v3
with:
name: Test Results (Py37-TF1.15-ubuntu)
path: ./**/test-results-*.xml
Extra_tests:
strategy:
fail-fast: false
matrix:
name:
- 'py39-tf2.10'
- 'py39-tf2.15'
os: ['ubuntu-latest', 'windows-2022']
ort_version: ['1.16.3']
onnx_version: ['1.16.1']
include:
- name: 'py39-tf2.10'
tf_version: '2.10.0'
python_version: '3.9'
- name: 'py39-tf2.15'
tf_version: '2.15.0'
python_version: '3.9'
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run Tests (Py${{ matrix.python_version }}_TF${{ matrix.tf_version }}_${{ matrix.os }}_${{ matrix.ort_version }})
uses: ./.github/actions/keras_unit_test
with:
tf_version: ${{ matrix.tf_version }}
python_version: ${{ matrix.python_version }}
ort_version: ${{ matrix.ort_version }}
onnx_version: ${{ matrix.onnx_version }}
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v3
with:
name: Test Results (${{ matrix.python_version }}-${{ matrix.tf_version }}-${{ matrix.os }})
path: ./**/test-results*.xml
# run_tests_tf_15:
# strategy:
# matrix:
# tf_version: ['1.15.0']
# python_version: ['3.7'] # Max version that supports tf 1.15
# ort_version: ['1.14.1'] # Max version that supports python 3.7
# onnx_version: ['1.14.1'] # Max version that supports python 3.7
# os: ['ubuntu-latest', 'windows-2022']
# 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: |
# python -m pip install --upgrade pip
# pip install onnxconverter-common
# pip install onnx==${{ matrix.onnx_version }}
# pip uninstall -y protobuf
# pip install "protobuf~=3.20"
# pip install h5py==3.7.0
# pip install parameterized
# pip install timeout-decorator
# pip install coloredlogs flatbuffers
# pip install tensorflow==${{ matrix.tf_version }}
# pip install pytest pytest-cov pytest-runner
# pip install onnxruntime==${{ matrix.ort_version }}
# pip install numpy==1.19.0
# pip install -e .
# echo "----- List all of depdencies:"
# pip freeze --all
# - name: Run keras unit tests (${{ matrix.os }})
# run: |
# python -c "import onnxruntime"
# python -c "import onnxconverter_common"
# pytest tests/keras2onnx_unit_tests --doctest-modules --junitxml=junit/test-results.xml
# - 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: [Test_min_py_with_min_tf, Test_max_py_with_latest_tf, Test_py37_with_tf1_15, Extra_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"