Skip to content

dev(hansbug): try use macos-12+codecov-action@v4 as unittest #123

dev(hansbug): try use macos-12+codecov-action@v4 as unittest

dev(hansbug): try use macos-12+codecov-action@v4 as unittest #123

Workflow file for this run

name: Code Benchmark
on:
push:
branches:
- main
- dev/*
- fix/*
- test/*
workflow_dispatch:
jobs:
unittest:
name: Code Benchmark
runs-on: ${{ matrix.os }}
if: "!contains(github.event.head_commit.message, 'ci skip')"
strategy:
fail-fast: false
matrix:
os:
- 'ubuntu-20.04'
python-version:
- '3.8'
- '3.9'
- '3.10'
- '3.11'
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
- name: Set up system dependences on Windows
if: ${{ env.OS_NAME == 'Windows' }}
shell: bash
run: |
choco install tree cloc wget curl make zip graphviz
- name: Set up system dependences on MacOS
if: ${{ env.OS_NAME == 'MacOS' }}
shell: bash
run: |
brew install tree cloc wget curl make zip graphviz
- 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
pip install -r requirements-test-extra.txt
pip install -r requirements-benchmark.txt
./install_test.sh
- name: Test the basic environment
shell: bash
run: |
python -V
pip --version
pip list
tree .
cloc treevalue
cloc test
- name: Build treevalue binary
env:
CI: 'true'
shell: bash
run: |
make clean build
- name: Basic benchmark of treevalue
env:
CI: 'true'
CMP_N: '13'
BENCHMARK_FILE: benchmark
shell: bash
run: |
make benchmark
- name: Comparable benchmark of treevalue
env:
CI: 'true'
CMP_N: '13'
BENCHMARK_FILE: compare
shell: bash
run: |
make compare
- name: Build csv file for download
env:
CI: 'true'
shell: bash
run: |
make bmtrans
- name: Upload packed files to artifacts
uses: actions/upload-artifact@v3
with:
name: speed-test-${{ runner.os }}-cp${{ matrix.python-version }}
path: |
./.benchmarks/**/*.json
./.benchmarks/**/*.csv