name: large_nightly # This CI only runs once per day, but tries # many different configurations. on: schedule: # Run at the 0th minute of the 10th hour (UTC). # This means the job will run at 5am EST. - cron: "0 10 * * *" # This will automatically run on master branch only. workflow_dispatch: jobs: test: runs-on: ${{ matrix.os }} timeout-minutes: 60 # Windows jobs are flaky: continue-on-error: ${{ matrix.os == 'windows-latest' }} defaults: run: shell: bash strategy: fail-fast: false matrix: julia-version: ['1.6', '1.8', '1.9'] python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] os: [ubuntu-latest, macos-latest, windows-latest] steps: - uses: actions/checkout@v4 - name: "Set up Julia" uses: julia-actions/setup-julia@v1 with: version: ${{ matrix.julia-version }} - name: "Set up Python" uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - 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: "Run tests" run: | python -m pysr test main python -m pysr test cli