Spaces:
Sleeping
Sleeping
File size: 6,290 Bytes
aa19284 25f8cac a100ffb df21dce 28bb969 d369a9b 1902017 df21dce a100ffb 53e9e67 28bb969 d369a9b 1902017 a100ffb 72dc01c 698d616 eea7daa 000f989 a100ffb 1122900 bedf085 c01fb54 f77beb1 276bab1 f77beb1 bedf085 f77beb1 62ecf50 e7941a7 a100ffb 3a1fd74 a100ffb 6da5944 a100ffb b83cddb 6238194 f88031e e8815be a100ffb 5afff31 a100ffb fc23c11 a100ffb 043980c 47ce661 06aebb6 65159ce c48a68e 46f8a60 3d7c303 698d616 41e5fd5 4655d23 41e5fd5 698d616 4655d23 3d7c303 d18011f 4655d23 3d7c303 698d616 4655d23 3a3dce0 3ca1cbf 074a54b cd171e8 ebef609 099a9c6 24a4349 bedf085 24a4349 bedf085 24a4349 099a9c6 bedf085 099a9c6 e7941a7 099a9c6 3a1fd74 14e466a 00700f0 14e466a 099a9c6 afbb8a4 099a9c6 5698780 099a9c6 07a6991 6238194 f88031e 09c365a e8815be 099a9c6 043980c 099a9c6 4320392 099a9c6 cd171e8 e7941a7 099a9c6 cd171e8 eea7daa cd171e8 b896bd3 9fd88bc bedf085 9fd88bc b896bd3 3a1fd74 b896bd3 5afff31 b896bd3 043980c 9fd88bc bedf085 b896bd3 9fd88bc bedf085 9fd88bc bedf085 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 |
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
env:
COVERAGE_PROCESS_START: "${{ github.workspace }}/.coveragerc"
defaults:
run:
shell: bash
strategy:
matrix:
julia-version: ['1']
python-version: ['3.12']
os: [ubuntu-latest]
test-id: [main]
include:
- julia-version: '1.6'
python-version: '3.8'
os: ubuntu-latest
test-id: include
- julia-version: '1'
python-version: '3.12'
os: ubuntu-latest
test-id: include
steps:
- uses: actions/checkout@v4
- name: "Set up Julia"
uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.julia-version }}
- name: "Cache Julia"
uses: julia-actions/cache@v2
with:
cache-name: ${{ matrix.os }}-test-${{ matrix.julia-version }}-${{ matrix.python-version }}
cache-packages: false
- name: "Set up Python"
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: pip
- name: "Install PySR"
run: |
python -m pip install --upgrade pip
pip install .
python -c 'import pysr'
- name: "Assert Julia version"
if: ${{ matrix.julia-version != '1'}}
run: python3 -c "from pysr import jl; assert jl.VERSION.major == jl.seval('v\"${{ matrix.julia-version }}\"').major; assert jl.VERSION.minor == jl.seval('v\"${{ matrix.julia-version }}\"').minor"
- name: "Install test dependencies"
run: pip install coverage coveralls pytest nbval
- name: "Set up coverage for subprocesses"
run: echo 'import coverage; coverage.process_startup()' > "${{ github.workspace }}/sitecustomize.py"
- name: "Run tests"
run: coverage run -m pysr test main,cli,startup
- name: "Install JAX"
run: pip install jax jaxlib # (optional import)
if: ${{ matrix.test-id == 'main' }}
- name: "Run JAX tests"
run: coverage run --append -m pysr test jax
if: ${{ matrix.test-id == 'main' }}
- name: "Install Torch"
run: pip install torch # (optional import)
if: ${{ matrix.test-id == 'main' }}
- name: "Run Torch tests"
run: coverage run --append -m pysr test torch
if: ${{ matrix.test-id == 'main' }}
- name: "Coveralls"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_FLAG_NAME: test-${{ matrix.julia-version }}-${{ matrix.python-version }}
COVERALLS_PARALLEL: true
run: coveralls --service=github
dev_install:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: ['ubuntu-latest']
python-version: ['3.12']
julia-version: ['1']
include:
- os: ubuntu-latest
python-version: '3.8'
julia-version: '1.6'
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- name: "Install PySR"
run: |
python -m pip install --upgrade pip
pip install .
- name: "Run development test"
run: PYSR_TEST_JULIA_VERSION=${{ matrix.julia-version }} PYSR_TEST_PYTHON_VERSION=${{ matrix.python-version }} python -m pysr test dev
conda_test:
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash -l {0}
strategy:
matrix:
python-version: ['3.12']
os: ['ubuntu-latest']
steps:
- uses: actions/checkout@v4
- name: "Cache conda"
uses: actions/cache@v4
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@v3
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@v2
with:
cache-name: ${{ matrix.os }}-conda-${{ matrix.python-version }}
cache-packages: false
- name: "Install PySR"
run: |
python3 -m pip install .
python3 -c 'import pysr'
- 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
types:
name: Check types
runs-on: ubuntu-latest
defaults:
run:
shell: bash -l {0}
strategy:
matrix:
python-version:
- '3.12'
- '3.8'
os: ['ubuntu-latest']
steps:
- uses: actions/checkout@v4
- name: "Set up Python"
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: pip
- name: "Install PySR and all dependencies"
run: |
python -m pip install --upgrade pip
pip install .
pip install mypy
- name: "Install additional dependencies"
run: python -m pip install jax jaxlib torch
if: ${{ matrix.python-version != '3.8' }}
- name: "Run mypy"
run: python -m mypy --install-types --non-interactive pysr
if: ${{ matrix.python-version != '3.8' }}
- name: "Run compatible mypy"
run: python -m mypy --ignore-missing-imports pysr
if: ${{ matrix.python-version == '3.8' }}
|