From 50ad5b0aa97430b6de4ab056ba1352fb47932437 Mon Sep 17 00:00:00 2001 From: CaselIT Date: Mon, 26 Oct 2020 20:51:07 +0100 Subject: Add github test workflows Change-Id: Ic76936a6fa3617410ad6419a106fdbb0f320a77a --- .github/workflows/run-on-pr.yaml | 50 ++++++++++++++++++++++++++++++++++ .github/workflows/run-test.yaml | 59 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 109 insertions(+) create mode 100644 .github/workflows/run-on-pr.yaml create mode 100644 .github/workflows/run-test.yaml (limited to '.github') diff --git a/.github/workflows/run-on-pr.yaml b/.github/workflows/run-on-pr.yaml new file mode 100644 index 0000000..4943b3e --- /dev/null +++ b/.github/workflows/run-on-pr.yaml @@ -0,0 +1,50 @@ +name: Run tests on a pr + +on: + # run on pull request to master excluding changes that are only on doc or example folders + pull_request: + branches: + - master + paths-ignore: + - "docs/**" + +env: + # global env to all steps + TOX_WORKERS: -n2 + +jobs: + run-test-amd64: + name: ${{ matrix.python-version }}-${{ matrix.sqlalchemy }}-${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + # run this job using this matrix, excluding some combinations below. + matrix: + os: + - "ubuntu-latest" + python-version: + - "3.9" + sqlalchemy: + - sqla13 + - sqlamaster + # abort all jobs as soon as one fails + fail-fast: true + + # steps to run in each job. Some are github actions, others run shell commands + steps: + - name: Checkout repo + uses: actions/checkout@v2 + + - name: Set up python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + architecture: ${{ matrix.architecture }} + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install --upgrade tox setuptools + pip list + + - name: Run tests + run: tox -e py-${{ matrix.sqlalchemy }} diff --git a/.github/workflows/run-test.yaml b/.github/workflows/run-test.yaml new file mode 100644 index 0000000..3afb260 --- /dev/null +++ b/.github/workflows/run-test.yaml @@ -0,0 +1,59 @@ +name: Run tests + +on: + # run on push in master or rel_* branches excluding changes are only on doc or example folders + push: + branches: + - master + - "rel_*" + # branches used to test the workflow + - "workflow_test_*" + paths-ignore: + - "docs/**" + +env: + # global env to all steps + TOX_WORKERS: -n2 + +jobs: + run-test: + name: ${{ matrix.python-version }}-${{ matrix.sqlalchemy }}-${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + # run this job using this matrix, excluding some combinations below. + matrix: + os: + - "ubuntu-latest" + - "windows-latest" + - "macos-latest" + python-version: + - "2.7" + - "3.6" + - "3.7" + - "3.8" + - "3.9" + sqlalchemy: + - sqla13 + - sqlamaster + + fail-fast: false + + # steps to run in each job. Some are github actions, others run shell commands + steps: + - name: Checkout repo + uses: actions/checkout@v2 + + - name: Set up python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + architecture: ${{ matrix.architecture }} + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install --upgrade tox setuptools + pip list + + - name: Run tests + run: tox -e py-${{ matrix.sqlalchemy }} -- cgit v1.2.1