| name: So, does it work? |
| |
| on: [push] |
| |
| jobs: |
| build: |
| runs-on: ${{ matrix.os }} |
| strategy: |
| matrix: |
| os: |
| - ubuntu-latest |
| - macos-latest |
| - windows-latest |
| python: [ |
| '3.5', |
| # '3.6', '3.7', '3.8', # it takes too much GitHub action time to run tests on all versions in between |
| '3.9', |
| ] |
| include: |
| - os: ubuntu-latest |
| python: pypy-3.6 |
| |
| name: Python ${{ matrix.python }} on ${{ matrix.os }} |
| |
| steps: |
| - uses: actions/checkout@v2 |
| with: |
| submodules: true |
| |
| - name: Cache pip |
| uses: actions/cache@v2 |
| with: |
| key: cache--${{ matrix.os }}--${{ matrix.python }}--${{ hashFiles('./requirements.txt') }} |
| path: ~/.cache/pip |
| |
| - name: Setup python |
| uses: actions/setup-python@v2 |
| with: |
| python-version: ${{ matrix.python }} |
| |
| - name: Display Python version |
| run: python -c 'import sys; print(sys.version)' |
| |
| - name: Update pip |
| run: python -m pip install -U pip wheel setuptools |
| |
| - name: Install requirements |
| run: python -m pip install -Ur requirements.txt |
| |
| - name: Compile project |
| run: make |
| |
| - name: Run JSON5 tests suite |
| run: python run-tests.py |
| |
| - name: Run "JSON is a Minefield" suite |
| run: python run-minefield-test.py |