diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5cb410c..8c6080a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -49,23 +49,22 @@ jobs: run: pre-commit run --all-files test: runs-on: ubuntu-latest + strategy: + matrix: + python-version: [3.6, 3.7, 3.8] steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v1 with: - python-version: 3.8 - - name: Store installed Python version - run: | - echo "::set-env name=PY_VERSION::"\ - "$(python -c "import platform;print(platform.python_version())")" + python-version: ${{ matrix.python-version }} - name: Cache pip test requirements uses: actions/cache@v1 with: path: ${{ env.PIP_CACHE_DIR }} - key: "${{ runner.os }}-pip-test-py${{ env.PY_VERSION }}-\ + key: "${{ runner.os }}-pip-test-py${{ matrix.python-version }}-\ ${{ hashFiles('**/requirements-test.txt') }}" restore-keys: | - ${{ runner.os }}-pip-test-py${{ env.PY_VERSION }}- + ${{ runner.os }}-pip-test-py${{ matrix.python-version }}- ${{ runner.os }}-pip-test- ${{ runner.os }}-pip- - name: Install dependencies @@ -84,6 +83,38 @@ jobs: build: runs-on: ubuntu-latest needs: [lint, test] + strategy: + matrix: + python-version: [3.6, 3.7, 3.8] + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python-version }} + - name: Cache pip build requirements + uses: actions/cache@v1 + with: + path: ${{ env.PIP_CACHE_DIR }} + key: "${{ runner.os }}-pip-build-py${{ matrix.python-version }}-\ + ${{ hashFiles('**/requirements.txt') }}" + restore-keys: | + ${{ runner.os }}-pip-build-py${{ matrix.python-version }}- + ${{ runner.os }}-pip-build- + ${{ runner.os }}-pip- + - name: Install dependencies + run: | + python -m pip install --upgrade pip wheel + pip install --upgrade --requirement requirements.txt + - name: Build artifacts + run: python3 setup.py sdist bdist_wheel + - name: Upload artifacts + uses: actions/upload-artifact@v1 + with: + name: dist-${{ matrix.python-version }} + path: dist + build_lambda: + runs-on: ubuntu-latest + needs: build steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v1