diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml new file mode 100644 index 0000000..f6a52ba --- /dev/null +++ b/.github/workflows/main.yaml @@ -0,0 +1,52 @@ +name: Main CI + +on: [push] + +jobs: + #lint: + # FIXME + test: + runs-on: ubuntu-latest + #needs: [lint] + timeout-minutes: 10 + strategy: + matrix: + python-version: + - '3.4' + - '3.5' + - '3.6' + - '3.7' + - '3.8' + - '3.9' + - '3.10' + - '3.11' + - '3.12' + - 'pypy3.10' + loader: [requests, aiohttp] + exclude: + - python-version: "3.4" + loader: aiohttp + steps: + - uses: actions/checkout@v4 + - name: Use Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + cache: 'pip' + - name: Install + run: pip install -r requirements.txt + - name: Fetch test suites + run: | + git clone --depth 1 https://github.com/w3c/json-ld-api.git _json-ld-api + git clone --depth 1 https://github.com/w3c/json-ld-framing.git _json-ld-framing + git clone --depth 1 https://github.com/json-ld/normalization.git _normalization + - name: Test with Python=${{ matrix.python-version }} Loader=${{ matrix.loader }} + run: | + python tests/runtests.py ./_json-ld-api/tests -l ${{ matrix.loader }} + python tests/runtests.py ./_json-ld-framing/tests -l ${{ matrix.loader }} + python tests/runtests.py ./_normalization/tests -l ${{ matrix.loader }} + env: + LOADER: ${{ matrix.loader }} + #coverage: + # needs: [test] + # FIXME diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 9e92aa1..0000000 --- a/.travis.yml +++ /dev/null @@ -1,42 +0,0 @@ -dist: xenial -language: python -cache: pip -python: - - "3.4" - - "3.5" - - "3.6" - - "3.7" - - "3.8" - - "pypy3" -sudo: false - -# Define document loaders -env: - - LOADER=requests - - LOADER=aiohttp - -matrix: - exclude: - - python: "3.4" - env: LOADER=aiohttp - allow_failures: - - python: "3.4" - - python: "3.5" - -install: - - pip install -r requirements.txt - - git clone --depth 1 https://github.com/w3c/json-ld-api.git _json-ld-api - - git clone --depth 1 https://github.com/w3c/json-ld-framing.git _json-ld-framing - - git clone --depth 1 https://github.com/json-ld/normalization.git _normalization - -# Download test suite and run tests... submodule? meta testing project with -# all of the reference implementations? -script: - - python tests/runtests.py ./_json-ld-api/tests -l $LOADER - - python tests/runtests.py ./_json-ld-framing/tests -l $LOADER - - python tests/runtests.py ./_normalization/tests -l $LOADER - -notifications: - email: - on_success: change - on_failure: change