Skip to content

Commit 01fcd9b

Browse files
authored
Merge pull request #2332 from fatcat-z/migrate_ci
Add pylint github action file.
2 parents ed02243 + f233bb1 commit 01fcd9b

26 files changed

+639
-1307
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Prepare Environment.
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
tf_version:
7+
description: 'TensorFlow version'
8+
required: true
9+
type: string
10+
11+
jobs:
12+
setup:
13+
runs-on: ubuntu-latest
14+
env:
15+
tensorflow_version: ${{ github.event.inputs.tf_version }}
16+
steps:
17+
- name: Checkout code
18+
uses: actions/checkout@v4
19+
20+
# - name: Install dependencies (tf ${{ inputs.tf_version }})
21+
- name: Install dependencies (tf $tensorflow_version)
22+
run: |
23+
pip install pytest pytest-cov pytest-runner coverage graphviz requests pyyaml pillow pandas parameterized sympy coloredlogs flatbuffers timeout-decorator
24+
pip install onnx
25+
pip install onnxruntime==1.16.3
26+
pip install numpy
27+
28+
pip install onnxruntime-extensions
29+
# pip install "tensorflow-text<=${{ inputs.tf_version }}"
30+
pip install "tensorflow-text<=$tensorflow_version"
31+
32+
pip uninstall -y tensorflow
33+
# pip install tensorflow==${{ inputs.tf_version }}
34+
pip install tensorflow==$tensorflow_version
35+
pip uninstall -y protobuf
36+
pip install "protobuf~=3.20"
37+
38+
python setup.py install
39+
40+
pip freeze --all
41+
42+
- name: Fix Paths (Windows only)
43+
if: runner.os == 'Windows'
44+
run: |
45+
$site_dir = python -c "import site; print(site.getsitepackages()[1])"
46+
echo "##vso[task.prependpath]$site_dir\numpy\.libs"
47+
$base_dir = python -c "import site; print(site.getsitepackages()[0])"
48+
echo "##vso[task.prependpath]$base_dir/Library/bin"
49+
50+
- name: List all dependencies
51+
run: |
52+
pip list
53+
Lines changed: 198 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,198 @@
1+
name: Keras2onnx Application Tests (CI)
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
push:
8+
branches:
9+
- main
10+
workflow_dispatch:
11+
12+
jobs:
13+
run_tests:
14+
strategy:
15+
matrix:
16+
tf_version: ['2.9.0', '2.13.0']
17+
python_version: ['3.8', '3.9']
18+
opset_version: ['18', '15']
19+
ort_version: ['1.16.3']
20+
onnx_version: ['1.15.0']
21+
os: ['ubuntu-latest', 'windows-2022']
22+
23+
runs-on: ${{ matrix.os }}
24+
25+
steps:
26+
- name: Set up Python (${{ matrix.python_version }})
27+
uses: actions/setup-python@v5
28+
with:
29+
python-version: ${{ matrix.python_version }}
30+
31+
- name: Checkout code
32+
uses: actions/checkout@v4
33+
34+
- name: Install dependencies (TF-v${{ matrix.tf_version }})
35+
shell: bash
36+
run: |
37+
python -m pip install --upgrade pip
38+
pip install onnxconverter-common
39+
pip install onnx==${{ matrix.onnx_version }}
40+
pip uninstall -y protobuf
41+
pip install "protobuf~=3.20"
42+
pip install h5py==3.7.0
43+
pip install parameterized
44+
pip install timeout-decorator
45+
pip install coloredlogs flatbuffers
46+
pip install tensorflow==${{ matrix.tf_version }}
47+
pip install onnxruntime==${{ matrix.ort_version }}
48+
pip install Pillow==8.2.0
49+
pip install opencv-python
50+
pip install tqdm
51+
pip install keras-segmentation==0.2.0
52+
git clone https://github.com/matterport/Mask_RCNN
53+
cd Mask_RCNN
54+
pip install -r requirements.txt
55+
python setup.py install
56+
cd ..
57+
pip install matplotlib
58+
git clone https://github.com/qqwweee/keras-yolo3
59+
pip install keras-resnet
60+
pip install git+https://www.github.com/keras-team/keras-contrib.git
61+
pip install keras-tcn==2.8.3
62+
pip install git+https://github.com/qubvel/efficientnet
63+
pip install transformers==4.2.0
64+
pip install keras-self-attention
65+
pip install pytest pytest-cov pytest-runner
66+
67+
pip install -e .
68+
69+
echo "----- List all of depdencies:"
70+
pip freeze --all
71+
72+
- name: Run keras application tests (${{ matrix.os }})
73+
run: |
74+
python -c "import onnxruntime"
75+
pytest tests/keras2onnx_unit_tests --doctest-modules --junitxml=junit/test-results.xml
76+
cd tests/keras2onnx_applications/nightly_build
77+
python run_all_v2.py
78+
79+
- name: Upload Test Results
80+
if: always()
81+
uses: actions/upload-artifact@v3
82+
with:
83+
name: Test Results (${{ matrix.tf_version }}-${{ matrix.python_version }}-${{ matrix.os }})
84+
path: ./**/test-results*.xml
85+
86+
run_tests_tf_15:
87+
strategy:
88+
matrix:
89+
tf_version: ['1.15.0']
90+
python_version: ['3.7'] # Max version that supports tf 1.15
91+
opset_version: ['18', '15']
92+
ort_version: ['1.14.1'] # Max version that supports python 3.7
93+
onnx_version: ['1.14.1'] # Max version that supports python 3.7
94+
os: ['ubuntu-latest', 'windows-2022']
95+
96+
runs-on: ${{ matrix.os }}
97+
98+
steps:
99+
- name: Set up Python (${{ matrix.python_version }})
100+
uses: actions/setup-python@v5
101+
with:
102+
python-version: ${{ matrix.python_version }}
103+
104+
- name: Checkout code
105+
uses: actions/checkout@v4
106+
107+
- name: Install dependencies (TF-v${{ matrix.tf_version }})
108+
shell: bash
109+
run: |
110+
python -m pip install --upgrade pip
111+
pip install onnxconverter-common
112+
pip install onnx==${{ matrix.onnx_version }}
113+
pip uninstall -y protobuf
114+
pip install "protobuf~=3.20"
115+
pip install h5py==3.7.0
116+
pip install parameterized
117+
pip install timeout-decorator
118+
pip install coloredlogs flatbuffers
119+
pip install tensorflow==${{ matrix.tf_version }}
120+
pip install keras==2.3.1
121+
pip install onnxruntime==${{ matrix.ort_version }}
122+
pip install Pillow==8.2.0
123+
pip install opencv-python
124+
pip install tqdm
125+
pip install keras-segmentation==0.2.0
126+
git clone https://github.com/matterport/Mask_RCNN
127+
cd Mask_RCNN
128+
pip install -r requirements.txt
129+
python setup.py install
130+
cd ..
131+
pip install matplotlib
132+
git clone https://github.com/qqwweee/keras-yolo3
133+
pip install keras-resnet
134+
pip install git+https://www.github.com/keras-team/keras-contrib.git
135+
pip install keras-tcn==2.8.3
136+
pip install git+https://github.com/qubvel/efficientnet
137+
pip install transformers==4.2.0
138+
pip install keras-self-attention
139+
pip install pytest pytest-cov pytest-runner
140+
pip install numpy==1.19.0
141+
pip install h5py==2.9.0
142+
143+
pip install -e .
144+
145+
echo "----- List all of depdencies:"
146+
pip freeze --all
147+
148+
- name: Run keras application tests (${{ matrix.os }})
149+
run: |
150+
python -c "import onnxruntime"
151+
pytest tests/keras2onnx_unit_tests --doctest-modules --junitxml=junit/test-results.xml
152+
cd tests/keras2onnx_applications/nightly_build
153+
python run_all_v2.py --exclude "test_keras_applications_v2.py"
154+
155+
- name: Upload Test Results
156+
if: always()
157+
uses: actions/upload-artifact@v3
158+
with:
159+
name: Test Results (${{ matrix.tf_version }}-${{ matrix.python_version }}-${{ matrix.os }})
160+
path: ./**/test-results*.xml
161+
162+
publish-test-results:
163+
name: "Publish Tests Results to Github"
164+
needs: run_tests
165+
runs-on: ubuntu-latest
166+
permissions:
167+
checks: write
168+
pull-requests: write
169+
if: always()
170+
steps:
171+
- name: Download Artifacts
172+
uses: actions/download-artifact@v3
173+
with:
174+
path: artifacts
175+
176+
- name: Publish Test Results
177+
uses: EnricoMi/publish-unit-test-result-action@v2
178+
with:
179+
files: "artifacts/**/*.xml"
180+
181+
publish-test-results-tf-15:
182+
name: "Publish Tests Results(TF15) to Github"
183+
needs: run_tests_tf_15
184+
runs-on: ubuntu-latest
185+
permissions:
186+
checks: write
187+
pull-requests: write
188+
if: always()
189+
steps:
190+
- name: Download Artifacts
191+
uses: actions/download-artifact@v3
192+
with:
193+
path: artifacts
194+
195+
- name: Publish Test Results
196+
uses: EnricoMi/publish-unit-test-result-action@v2
197+
with:
198+
files: "artifacts/**/*.xml"

0 commit comments

Comments
 (0)