|  | 
| 1 | 1 | name: CI | 
| 2 | 2 | 
 | 
| 3 | 3 | on: | 
| 4 |  | -- push | 
|  | 4 | +  push: | 
|  | 5 | +    paths: | 
|  | 6 | +      - .github/workflows/ci.yml | 
|  | 7 | +      - ext/** | 
|  | 8 | +      - lib/** | 
|  | 9 | +      - spec/** | 
|  | 10 | +  pull-request: | 
|  | 11 | +    paths: | 
|  | 12 | +      - .github/workflows/ci.yml | 
|  | 13 | +      - ext/** | 
|  | 14 | +      - lib/** | 
|  | 15 | +      - spec/** | 
| 5 | 16 | 
 | 
| 6 | 17 | jobs: | 
| 7 |  | -  test: | 
| 8 |  | -    name: Test | 
|  | 18 | +  unix-like: | 
|  | 19 | +    name: Test on ${{ matrix.os }} | 
| 9 | 20 |     runs-on: ${{ matrix.os }} | 
| 10 | 21 | 
 | 
| 11 | 22 |     strategy: | 
| @@ -35,13 +46,74 @@ jobs: | 
| 35 | 46 |           ruby-version: ${{ matrix.ruby_version }} | 
| 36 | 47 | 
 | 
| 37 | 48 |       - name: Setup Python | 
| 38 |  | -        uses: actions/setup-python@v1 | 
|  | 49 | +        uses: actions/setup-python@v2 | 
| 39 | 50 |         with: | 
| 40 | 51 |           python-version: ${{ matrix.python_version }} | 
| 41 | 52 |           architecture: ${{ matrix.python_architecture }} | 
| 42 | 53 | 
 | 
| 43 | 54 |       - name: Checkout | 
| 44 |  | -        uses: actions/checkout@v1 | 
|  | 55 | +        uses: actions/checkout@v2 | 
|  | 56 | +        with: | 
|  | 57 | +          fetch-depth: 1 | 
|  | 58 | + | 
|  | 59 | +      - name: Prepare environment | 
|  | 60 | +        run: | | 
|  | 61 | +          gem install bundler | 
|  | 62 | +
 | 
|  | 63 | +      - name: Install requirements | 
|  | 64 | +        run: | | 
|  | 65 | +          pip install --user numpy | 
|  | 66 | +          bundle install | 
|  | 67 | +
 | 
|  | 68 | +      - name: Compile pycall.so | 
|  | 69 | +        run: | | 
|  | 70 | +          bundle exec rake compile | 
|  | 71 | +
 | 
|  | 72 | +      - name: Python investigator | 
|  | 73 | +        run: | | 
|  | 74 | +          python lib/pycall/python/investigator.py | 
|  | 75 | +
 | 
|  | 76 | +      - name: Test | 
|  | 77 | +        run: | | 
|  | 78 | +          PYTHON=python bundle exec rake | 
|  | 79 | +
 | 
|  | 80 | +  windows: | 
|  | 81 | +    name: Test on ${{ matrix.os }} | 
|  | 82 | +    runs-on: ${{ matrix.os }} | 
|  | 83 | + | 
|  | 84 | +    strategy: | 
|  | 85 | +      fail-fast: false | 
|  | 86 | +      matrix: | 
|  | 87 | +        os: | 
|  | 88 | +        - windows-latest | 
|  | 89 | +        ruby_version: | 
|  | 90 | +        - 2.7.x | 
|  | 91 | +        - 2.6.x | 
|  | 92 | +        - 2.5.x | 
|  | 93 | +        - 2.4.x | 
|  | 94 | +        python_version: | 
|  | 95 | +        - 3.8.x | 
|  | 96 | +        - 3.7.x | 
|  | 97 | +        - 3.6.x | 
|  | 98 | +        - 2.7.x | 
|  | 99 | +        python_architecture: | 
|  | 100 | +        - x64 | 
|  | 101 | + | 
|  | 102 | +    steps: | 
|  | 103 | +      - name: Setup Ruby | 
|  | 104 | +        if: matrix.ruby_version != 'master-nightly' | 
|  | 105 | +        uses: actions/setup-ruby@v1 | 
|  | 106 | +        with: | 
|  | 107 | +          ruby-version: ${{ matrix.ruby_version }} | 
|  | 108 | + | 
|  | 109 | +      - name: Setup Python | 
|  | 110 | +        uses: actions/setup-python@v2 | 
|  | 111 | +        with: | 
|  | 112 | +          python-version: ${{ matrix.python_version }} | 
|  | 113 | +          architecture: ${{ matrix.python_architecture }} | 
|  | 114 | + | 
|  | 115 | +      - name: Checkout | 
|  | 116 | +        uses: actions/checkout@v2 | 
| 45 | 117 |         with: | 
| 46 | 118 |           fetch-depth: 1 | 
| 47 | 119 | 
 | 
|  | 
0 commit comments