Skip to content

Port ONNX op test suite. #2

Port ONNX op test suite.

Port ONNX op test suite. #2

Workflow file for this run

# Copyright 2024 The IREE Authors
#
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
name: Test ONNX Ops
on:
pull_request:
paths:
# This file itself.
- ".github/workflows/test_onnx_ops.yml"
- "onnx-ops/**"
workflow_dispatch:
schedule:
# Runs at 3:00 PM UTC, which is 8:00 AM PST
- cron: "0 15 * * *"
concurrency:
# A PR number if a pull request and otherwise the commit hash. This cancels
# queued and in-progress runs for the same PR (presubmit) or commit
# (postsubmit). The workflow name is prepended to avoid conflicts between
# different workflows.
group: ${{ github.workflow }}-${{ github.event.number || github.sha }}
cancel-in-progress: true
jobs:
test-onnx-ops:
runs-on: ubuntu-24.04
env:
VENV_DIR: ${{ github.workspace }}/.venv
CONFIG_FILE_PATH: onnx-ops/configs/onnx_ops_cpu_llvm_sync.json
steps:
- name: "Checking out repository"
uses: actions/checkout@v4
# Install Python packages.
- name: "Setting up Python"
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: "Setup Python venv"
run: python3 -m venv ${VENV_DIR}
- name: "Installing IREE nightly release Python packages"
run: |
source ${VENV_DIR}/bin/activate
python3 -m pip install -r onnx-ops/requirements-iree.txt
# Run tests and output new config files as needed.
- name: "Running the ONNX ops test suite"
run: |
source ${VENV_DIR}/bin/activate
pytest onnx-ops/ \
-n auto \
-rA \
--timeout=30 \
--durations=10 \
--report-log=/tmp/onnx_ops_cpu_logs.json \
--config-files=${CONFIG_FILE_PATH}
- name: "Updating config file with latest XFAIL lists"
if: failure()
run: |
source ${VENV_DIR}/bin/activate
python onnx-ops/update_config_xfails.py \
--log-file=/tmp/onnx_ops_cpu_logs.json \
--config-file=${CONFIG_FILE_PATH}
cat ${CONFIG_FILE_PATH}
- name: "Uploading new config file"
if: failure()
uses: actions/upload-artifact@v4
with:
name: onnx_ops_cpu_llvm_sync.json
path: ${{ env.CONFIG_FILE_PATH }}