[Migration][DO NOT MERGE] Support for multi output pattern matching #5767
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: CI | |
on: | |
schedule: | |
# Run weekly on Mondays and Wednesdays 00:00 | |
- cron: '00 00 * * MON,WED' | |
push: | |
branches: | |
- main | |
- 'gh/**/base' # ghstack base branches | |
- rel-* | |
pull_request: | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name == 'workflow_dispatch' }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
name: | |
- py310 | |
- py39 | |
- py38 | |
- py310-torch-nightly | |
- py310-onnx-weekly | |
- py310-ort-nightly | |
- py311-ort-nightly | |
- py310-experimental-torchlib-tracing | |
include: | |
- name: py310 | |
python-version: "3.10" | |
nox-tag: test build | |
- name: py39 | |
python-version: "3.9" | |
nox-tag: test | |
- name: py38 | |
python-version: "3.8" | |
nox-tag: test | |
- name: py310-torch-nightly | |
python-version: "3.10" | |
nox-tag: test-torch-nightly | |
- name: py310-onnx-weekly | |
python-version: "3.10" | |
nox-tag: test-onnx-weekly | |
- name: py310-ort-nightly | |
python-version: "3.10" | |
nox-tag: test-ort-nightly | |
- name: py311-ort-nightly | |
python-version: "3.11" | |
nox-tag: test-ort-nightly | |
- name: py310-experimental-torchlib-tracing | |
python-version: "3.10" | |
nox-tag: test-experimental-torchlib-tracing | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install nox | |
run: python -m pip install nox | |
- name: Pull Test Data | |
run: git lfs pull | |
- name: Run tests | |
run: nox -t ${{ matrix.nox-tag }} --forcecolor -- -v --cov=onnxscript --cov-report=xml --cov-append --cov-branch -n=auto --junit-xml pytest.xml | |
env: | |
CATCH_ORT_SEGFAULT: "${{ matrix.os == 'ubuntu-latest' && '1' || '0' }}" | |
CREATE_REPRODUCTION_REPORT: "${{ matrix.os == 'ubuntu-latest' && '1' || '0' }}" | |
- name: Upload coverage to Codecov | |
if: always() | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
- name: Upload Test Results | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Test Results (${{ matrix.name }}-${{ matrix.os }}) | |
path: pytest.xml | |
- name: Upload torchlib error reports | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Error reports (${{ matrix.name }}-${{ matrix.os }}) | |
path: error_reports | |
build_docs: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
cache: pip | |
cache-dependency-path: "**/requirements-dev.txt" | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip setuptools wheel | |
python -m pip install -r requirements-dev.txt | |
- name: Versions | |
run: | | |
pip list | grep numpy | |
pip list | grep onnx | |
pip list | grep torch | |
- name: Install package | |
run: pip install . | |
- name: Build documentation | |
run: python -m sphinx docs dist/html | |
update_readme: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
- name: Update readme | |
run: | | |
python docs/update_readme.py | |
git diff --exit-code -- 'README.md' | |
if [ $? -ne 0 ]; then | |
echo "Update readme by running `python docs/update_readme.py`" | |
exit 1 | |
fi | |
publish-test-results: | |
name: "Publish Tests Results to Github" | |
needs: test | |
runs-on: ubuntu-latest | |
permissions: | |
checks: write | |
# only needed unless run with comment_mode: off | |
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" |