aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/tests.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/tests.yml')
-rw-r--r--.github/workflows/tests.yml53
1 files changed, 53 insertions, 0 deletions
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
new file mode 100644
index 0000000..27a9ae7
--- /dev/null
+++ b/.github/workflows/tests.yml
@@ -0,0 +1,53 @@
+name: Tests
+
+on:
+ push:
+ branches:
+ - master
+ - ci
+ pull_request:
+ branches:
+ - master
+
+jobs:
+ test:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ max-parallel: 4
+ matrix:
+ python-version: [3.6, 3.7, 3.8]
+ os: [ubuntu-latest, macos-latest]
+
+ steps:
+ - uses: actions/checkout@v1
+ with:
+ fetch-depth: 50
+ submodules: true
+
+ - name: Check if release PR.
+ uses: edgedb/action-release/validate-pr@master
+ continue-on-error: true
+ id: release
+ with:
+ github_token: ${{ secrets.RELEASE_BOT_GITHUB_TOKEN }}
+ version_file: immutables/_version.py
+ version_line_pattern: |
+ __version__\s*=\s*(?:['"])([[:PEP440:]])(?:['"])
+
+ - name: Set up Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v1
+ if: steps.release.outputs.version == 0
+ with:
+ python-version: ${{ matrix.python-version }}
+
+ - name: Install Python Deps
+ if: steps.release.outputs.version == 0
+ run: |
+ pip install --upgrade setuptools pip wheel
+ pip download --dest=/tmp/deps .[test]
+ pip install -U --no-index --find-links=/tmp/deps /tmp/deps/*
+
+ - name: Test
+ if: steps.release.outputs.version == 0
+ run: |
+ make debug && make test