Skip to content

reduce torch tests, fix cpu package installation #108

reduce torch tests, fix cpu package installation

reduce torch tests, fix cpu package installation #108

Workflow file for this run

name: Run CI Tests
on:
push:
branches:
- main
pull_request:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
jobs:
run-tf-tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# NOTE if newer versions are added, update sony_custom_layers.__init__ pinned_requirements!!!
py_ver: ["3.8", "3.9", "3.10", "3.11"]
tf_ver: ["2.10", "2.11", "2.12", "2.13", "2.14", "2.15"]
exclude:
- py_ver: "3.11"
tf_ver: "2.10"
- py_ver: "3.11"
tf_ver: "2.11"
- py_ver: "3.8"
tf_ver: "2.14"
- py_ver: "3.8"
tf_ver: "2.15"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Python 3
uses: actions/setup-python@v5
with:
python-version: ${{matrix.py_ver}}
- name: Install dependencies
run: |
pip install tensorflow==${{matrix.tf_ver}}.*
pip install -r requirements_test.txt
pip list
- name: Run pytest
run: |
pytest sony_custom_layers/keras
run-torch-tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# Test selected versions combinations as following:
# * latest/earliest torch+torchvision X latest/earliest ort X latest/earliest ort-ext
# * each remaining version is covered by at least one test
# !!!NOTE!!! if newer versions are added, update sony_custom_layers.__init__ pinned_requirements
py_ver: [ "3.8", "3.9", "3.10", "3.11" ]
torch_ver: ["2.0", "2.1", "2.2"]
ort_ver: ["1.15", "1.17"]
ort_ext_ver: ["0.8", "0.10"]
exclude:
- py_ver: "3.11" # incompatible versions
ort_ext_ver: "0.8"
include:
# torchvision ver is coupled to a specific torch ver
- torch_ver: "2.2"
torchvision_ver: "0.17"
onnx_ver: "1.14"
- torch_ver: "2.1"
torchvision_ver: "0.16"
onnx_ver: "1.15"
- torch_ver: "2.0"
torchvision_ver: "0.15"
onnx_ver: "1.15"
# non-covered versions (ort, ort-ext)
- py_ver: "3.11"
torch_ver: "2.1"
torchvision_ver: "0.16"
ort_ver: "1.16"
ort_ext_ver: "0.9"
onnx_ver: "1.14"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Python 3
uses: actions/setup-python@v5
with:
python-version: ${{matrix.py_ver}}
- name: Install dependencies
run: |
pip install torch==${{matrix.torch_ver}}.* \
torchvision==${{matrix.torchvision_ver}}.* --index-url https://download.pytorch.org/whl/cpu
pip install onnxruntime==${{matrix.ort_ver}}.* \
onnxruntime_extensions==${{matrix.ort_ext_ver}}.* \
onnx==${{matrix.onnx_ver}}.* \
-r ./requirements_test.txt
pip check
pip list
- name: Run pytest
run: |
pytest sony_custom_layers/pytorch
build:
needs: [run-tf-tests, run-torch-tests]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Python 3
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Run pre-commit
run: |
./install-pre-commit.sh
pre-commit run --all
- name: get new dev tag
shell: bash
run : |
pip install packaging
git fetch --tags
latest_tag=$(git tag -l | sort -V -r | head -n 1)
if [ -z "$latest_tag" ]; then
new_version=0.0.0.dev0
else
latest_tag_without_v=${latest_tag#v}
new_version=$(python -c "
from packaging.version import parse
v = parse('$latest_tag_without_v')
if v.is_devrelease:
print(f'{v.major}.{v.minor}.{v.micro}.dev{v.dev + 1}')
else:
print(f'{v.major}.{v.minor}.{v.micro + 1}.dev0')
")
fi
echo "new_ver=${new_version}" >> $GITHUB_ENV
echo "new_tag=v${new_version}" >> $GITHUB_ENV
echo "cat GITHUB_ENV"
cat $GITHUB_ENV
- name: update name and version to dev
shell: bash
run: |
echo "__version__ = '${{ env.new_ver }}'" > sony_custom_layers/version.py
echo "print sony_custom_layers/version.py"
cat sony_custom_layers/version.py
sed -i 's/name = sony-custom-layers/name = sony-custom-layers-dev/' setup.cfg
echo "print setup.cfg"
cat setup.cfg
- name: Build wheel
run: |
pip install build
python -m build --wheel
- name: Publish package pypi
shell: bash
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
run: |
pip install twine
twine upload --repository pypi dist/* -u __token__ -p ${{ secrets.PYPI_API_KEY }}
git tag ${{ env.new_tag }}
git push origin ${{ env.new_tag }}