Merge pull request #404 from MilesCranmer/create-pull-request/patch #1300
Workflow file for this run
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: Linux | |
on: | |
push: | |
branches: | |
- '**' | |
paths: | |
- 'test/**' | |
- 'pysr/**' | |
- '.github/workflows/CI.yml' | |
- 'setup.py' | |
tags: | |
- 'v*.*.*' | |
pull_request: | |
branches: | |
- '*' | |
paths: | |
- 'test/**' | |
- 'pysr/**' | |
- '.github/workflows/CI.yml' | |
- 'setup.py' | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 60 | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
matrix: | |
julia-version: ['1.9'] | |
python-version: ['3.10'] | |
os: [ubuntu-latest] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: "Set up Julia" | |
uses: julia-actions/setup-julia@v1 | |
with: | |
version: ${{ matrix.julia-version }} | |
- name: "Cache Julia" | |
uses: julia-actions/cache@v1 | |
with: | |
cache-name: ${{ matrix.os }}-test-${{ matrix.julia-version }}-${{ matrix.python-version }} | |
cache-packages: false | |
- name: "Set up Python" | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: pip | |
- name: "Install PySR" | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
python setup.py install | |
python -m pysr install | |
- name: "Install Coverage tool" | |
run: pip install coverage coveralls | |
- name: "Run tests" | |
run: | | |
coverage run --source=pysr --omit='*/test/*,*/feynman_problems.py' -m pysr.test main | |
coverage run --append --source=pysr --omit='*/test/*,*/feynman_problems.py' -m pysr.test cli | |
- name: "Install JAX" | |
run: pip install jax jaxlib # (optional import) | |
- name: "Run JAX tests" | |
run: coverage run --append --source=pysr --omit='*/test/*,*/feynman_problems.py' -m pysr.test jax | |
- name: "Install Torch" | |
run: pip install torch # (optional import) | |
- name: "Run Torch tests" | |
run: coverage run --append --source=pysr --omit='*/test/*,*/feynman_problems.py' -m pysr.test torch | |
- name: "Run custom env tests" | |
run: coverage run --append --source=pysr --omit='*/test/*,*/feynman_problems.py' -m pysr.test env | |
- name: "Coveralls" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
COVERALLS_FLAG_NAME: test-${{ matrix.test-name }} | |
COVERALLS_PARALLEL: true | |
run: coveralls --service=github | |
incremental_install: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: "Build incremental install" | |
run: docker build -t pysr -f pysr/test/incremental_install_simulator.dockerfile . | |
- name: "Test incremental install" | |
run: docker run --rm pysr /bin/bash -l -c 'python3 -m pysr.test main && python3 -m pysr.test env' | |
conda_test: | |
runs-on: ${{ matrix.os }} | |
defaults: | |
run: | |
shell: bash -l {0} | |
strategy: | |
matrix: | |
python-version: ['3.9'] | |
os: ['ubuntu-latest'] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: "Cache conda" | |
uses: actions/cache@v2 | |
env: | |
CACHE_NUMBER: 0 | |
with: | |
path: ~/conda_pkgs_dir | |
key: ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-${{ hashFiles('environment.yml') }} | |
- name: "Set up Conda" | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
miniforge-variant: Mambaforge | |
miniforge-version: latest | |
auto-activate-base: true | |
python-version: ${{ matrix.python-version }} | |
activate-environment: pysr-test | |
environment-file: environment.yml | |
- name: "Cache Julia" | |
uses: julia-actions/cache@v1 | |
with: | |
cache-name: ${{ matrix.os }}-conda-${{ matrix.python-version }} | |
cache-packages: false | |
- name: "Install PySR" | |
run: | | |
python3 -m pip install . | |
python3 -m pysr install | |
- name: "Run tests" | |
run: cd /tmp && python -m pysr.test main | |
coveralls: | |
name: Indicate completion to coveralls.io | |
needs: | |
- test | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash -l {0} | |
container: python:3-slim | |
steps: | |
- name: Finished | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
pip install coveralls | |
coveralls --finish |