File size: 2,725 Bytes
a100ffb
 
 
 
28bb969
 
 
 
1902017
a26da5f
a100ffb
 
 
28bb969
 
 
 
1902017
a26da5f
a100ffb
 
 
 
 
 
4e494ed
a100ffb
 
 
 
 
 
 
 
 
4ef59ef
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a100ffb
 
 
 
 
 
 
57b6a78
a100ffb
34688fd
3ca1cbf
41e5fd5
 
 
a100ffb
 
ebef609
a100ffb
41e5fd5
 
ebef609
41e5fd5
34688fd
3ca1cbf
 
cd171e8
 
ebef609
cd171e8
 
 
 
 
 
 
 
 
 
 
 
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
on:
  push:
    branches:
      - master
    paths:
      - 'test/**'
      - 'pysr/**'
      - '.github/workflows/**'
      - 'setup.py'
      - 'Project.toml'
  pull_request:
    branches:
      - master
    paths:
      - 'test/**'
      - 'pysr/**'
      - '.github/workflows/**'
      - 'setup.py'
      - 'Project.toml'

jobs:
  test:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        julia-version: ['1.5.0', '1.6.1']
        python-version: ['3.6']
        os: [ubuntu-latest, windows-latest]
    
    steps:
      - uses: actions/checkout@v1.0.0
      - name: "Set up Julia"
        uses: julia-actions/setup-julia@v1.6.0
        with:
          version: ${{ matrix.julia-version }}
      - name: "Change package server"
        shell: bash
        env:
            JULIA_PKG_SERVER: ""
        run: |
            julia -e 'using Pkg; Pkg.Registry.add("General")'
      - name: "Cache dependencies"
        uses: actions/cache@v1 # Thanks FromFile.jl
        env:
          cache-name: cache-artifacts
        with:
          path: ~/.julia/artifacts
          key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
          restore-keys: |
            ${{ runner.os }}-build-${{ env.cache-name }}-
            ${{ runner.os }}-build-
            ${{ runner.os }}-
      - name: "Set up Python"
        uses: actions/setup-python@v1
        with:
          python-version: ${{ matrix.python-version }}
      - name: "Install PySR"
        run: |
            python -m pip install --upgrade pip
            pip install -r requirements.txt
            python setup.py install
      - name: "Install Coverage tool"
        run: pip install coverage coveralls
      - name: "Install JAX"
        if: matrix.os != 'windows-latest'
        run: pip install jax jaxlib # (optional import)
        shell: bash
      - name: "Run tests"
        run: coverage run --source=pysr --omit='*/feynman_problems.py' -m unittest test.test
        shell: bash
      - name: "Run JAX tests"
        if: matrix.os != 'windows-latest'
        run: coverage run --append --source=pysr --omit='*/feynman_problems.py' -m unittest test.test_jax
        shell: bash
      - name: Coveralls
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          COVERALLS_FLAG_NAME: ${{ matrix.test-name }}
          COVERALLS_PARALLEL: true
        run: coveralls --service=github
  coveralls:
    name: Indicate completion to coveralls.io
    needs: test
    runs-on: ubuntu-latest
    container: python:3-slim
    steps:
      - name: Finished
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
            pip install coveralls
            coveralls --finish