Skip to content

Add asv benchmarks to ci #342

Add asv benchmarks to ci

Add asv benchmarks to ci #342

Workflow file for this run

name: CI
on:
push:
branches: [ main ]
pull_request:
jobs:
unittest:
name: Unit tests - ${{ matrix.PYTHON_VERSION }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
PYTHON_VERSION: ["3.10"]
defaults:
run:
# see https://github.com/conda-incubator/setup-miniconda/#important
shell: bash -l {0}
steps:
- uses: actions/checkout@v3
- name: Set up Conda env
uses: mamba-org/provision-with-micromamba@e2b397b12d0a38069451664382b769c9456e3d6d
with:
cache-env: true
extra-specs: |
python=${{ matrix.PYTHON_VERSION }}
- name: Install repository
run: python -m pip install --no-build-isolation --no-deps --disable-pip-version-check -e .
- name: Pytest
run: pytest --cov --cov-report xml tests
- name: codecov
uses: codecov/[email protected]
with:
file: ./coverage.xml
token: ${{ secrets.CODECOV_TOKEN }}
name: pytest-python${{ matrix.PYTHON_VERSION }}
pre-commit-checks:
name: "Linux - pre-commit checks - Python 3.10"
timeout-minutes: 30
runs-on: ubuntu-latest
env:
PRE_COMMIT_USE_MICROMAMBA: 1
steps:
- name: Checkout branch
uses: actions/[email protected]
- name: Set up micromamba
uses: mamba-org/setup-micromamba@d05808540d968a55ca33c798e0661fb98f533c73
- name: Add micromamba to GITHUB_PATH
run: echo "${HOME}/micromamba-bin" >> "$GITHUB_PATH"
- name: Install Python 3.10
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Run pre-commit checks
uses: pre-commit/[email protected]
asv-benchmarks:
name: ASV benchmarks
runs-on: ubuntu-latest
defaults:
run:
# see https://github.com/conda-incubator/setup-miniconda/#important
shell: bash -l {0}
steps:
- name: Checkout branch
uses: actions/checkout@v3
with:
ref: ${{ github.head_ref }}
- name: Fetch git history
run: git fetch --prune --unshallow
- name: Set up Conda env
uses: mamba-org/setup-micromamba@v1
with:
micromamba-version: '1.5.6-0'
environment-file: environment.yml
cache-environment: true
init-shell: bash
create-args: python=3.10 asv
# https://github.com/airspeed-velocity/asv/pull/1403
- name: Downgrade conda
run: conda install -n base -c conda-forge -y conda=23
# - name: Add micromamba to GITHUB_PATH
# run: echo "${HOME}/micromamba-bin" >> "$GITHUB_PATH"
# # https://stackoverflow.com/questions/77617946/solve-conda-libmamba-solver-libarchive-so-19-error-after-updating-conda-to-23
# - name: force mamba reinstall
# run: conda install -n base libarchive -c main --force-reinstall --solver classic -y
# - name: Install repository
# run: python -m pip install --no-build-isolation --no-deps --disable-pip-version-check -e .
# - name: Run ASV benchmarks
# run: |
# asv machine --machine github-runner --yes
# export OPENBLAS_NUM_THREADS=1
# asv --config asv.conf.json run -m github-runner --quick --python=same
# asv --config asv.conf.json publish
# - name: Upload ASV results
# uses: actions/upload-artifact@v4
# with:
# name: asv-results
# path: html
- name: asv continuous
run: |
cd benchmarks
asv machine --machine github-runner --yes
asv continuous origin/main HEAD -e -v --factor 1.2 --machine github-runner --config asv.conf.json