From 804c765f580f7c07f98be6b36cacc3d5c98aeeb3 Mon Sep 17 00:00:00 2001 From: Gabriel Augendre Date: Fri, 17 Jan 2020 16:41:18 +0100 Subject: [PATCH] Add GitHub workflow --- .github/workflows/package.yml | 57 +++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/package.yml diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml new file mode 100644 index 0000000..e396c32 --- /dev/null +++ b/.github/workflows/package.yml @@ -0,0 +1,57 @@ +name: Test & publish + +on: + push: + branches: + - master + pull_request: + release: + types: [created] + +jobs: + build: + name: Python ${{ matrix.python-version }} / ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + max-parallel: 9 + fail-fast: false + matrix: + python-version: [3.6, 3.7, 3.8] + os: [ubuntu-latest, windows-latest, macOS-latest] + + steps: + - uses: actions/checkout@v1 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install poetry + poetry install + - name: Test with pytest + run: | + poetry run pytest --color=yes + + publish: + name: Publish to PyPI + runs-on: ubuntu-latest + needs: build + if: github.event_name == 'release' + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + with: + python-version: '3.8' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install poetry + - name: Build and publish + env: + PYPI_USERNAME: ${{ secrets.PYPI_USERNAME }} + PYPI_PASSWORD: ${{ secrets.PYPI_PASSWORD }} + run: | + poetry publish --build -u $PYPI_USERNAME -p $PYPI_PASSWORD