Skip to content

dev(hansbug): use macos-12 to compile, ci skip #661

dev(hansbug): use macos-12 to compile, ci skip

dev(hansbug): use macos-12 to compile, ci skip #661

Workflow file for this run

name: Code Test
on:
push:
branches:
- main
- dev/*
- fix/*
- test/*
workflow_dispatch:
jobs:
unittest:
name: Code test
runs-on: ${{ matrix.os }}
if: "!contains(github.event.head_commit.message, 'ci skip')"
strategy:
fail-fast: false
matrix:
os:
- 'ubuntu-20.04'
- 'windows-2019' # need to be fixed, see: https://github.com/opendilab/treevalue/issues/41
- 'macos-13'
python-version:
- '3.8'
- '3.9'
- '3.10'
- '3.11'
- '3.12'
torch-version:
- '1.7.1'
- '1.13.1'
- '2.0.1'
- '2.4.0'
- 'latest'
exclude:
- python-version: '3.10'
torch-version: '1.7.1'
- python-version: '3.11'
torch-version: '1.7.1'
- python-version: '3.11'
torch-version: '1.13.1'
- python-version: '3.12'
torch-version: '1.7.1'
- python-version: '3.12'
torch-version: '1.13.1'
- python-version: '3.12'
torch-version: '2.0.1'
- torch-version: '2.4.0'
os: 'macos-13'
steps:
- name: Get system version for Linux
if: ${{ runner.os == 'Linux' }}
shell: bash
run: |
echo "OS_NAME=Linux" >> $GITHUB_ENV
echo "IS_WIN=" >> $GITHUB_ENV
echo "IS_MAC=" >> $GITHUB_ENV
- name: Get system version for Windows
if: ${{ runner.os == 'Windows' }}
shell: bash
run: |
echo "OS_NAME=Windows" >> $GITHUB_ENV
echo "IS_WIN=1" >> $GITHUB_ENV
echo "IS_MAC=" >> $GITHUB_ENV
- name: Get system version for MacOS
if: ${{ runner.os == 'macOS' }}
shell: bash
run: |
echo "OS_NAME=MacOS" >> $GITHUB_ENV
echo "IS_WIN=" >> $GITHUB_ENV
echo "IS_MAC=1" >> $GITHUB_ENV
- name: Set environment for Cpython
if: ${{ !contains(matrix.python-version, 'pypy') }}
shell: bash
run: |
echo "IS_PYPY=" >> $GITHUB_ENV
- name: Set environment for PyPy
if: ${{ contains(matrix.python-version, 'pypy') }}
shell: bash
run: |
echo "IS_PYPY=1" >> $GITHUB_ENV
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 20
- name: Set up system dependences on linux
if: ${{ runner.os == 'Linux' }}
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y tree cloc wget curl make graphviz
dot -V
- name: Set up system dependences on Windows
if: ${{ env.OS_NAME == 'Windows' }}
shell: bash
run: |
choco install tree cloc wget curl make zip graphviz
dot -V
- name: Set up system dependences on MacOS
if: ${{ env.OS_NAME == 'MacOS' }}
shell: bash
run: |
brew install tree cloc wget curl make zip graphviz
dot -V
- name: Set up python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install PyPI dependencies
shell: bash
run: |
python -m pip install --upgrade pip
pip install --upgrade flake8 setuptools wheel twine
pip install -r requirements.txt
pip install -r requirements-build.txt
pip install -r requirements-test.txt
- name: Install Extra Test Requirements
shell: bash
run: |
pip install -r requirements-test-extra.txt
- name: Install Torch
shell: bash
if: ${{ matrix.torch-version != 'latest' }}
run: |
pip install torch==${{ matrix.torch-version }}
- name: Test the basic environment
shell: bash
run: |
python -V
pip --version
pip list
tree .
cloc treevalue
cloc test
- name: Run unittest
env:
CI: 'true'
LINETRACE: 1
shell: bash
run: |
make clean build unittest
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
continue-on-error: true
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml
flags: unittests
name: codecov-umbrella
fail_ci_if_error: false