123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- name: build
- on: [push, pull_request]
- jobs:
- lint:
- name: Lint
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - name: Set up Python
- uses: actions/setup-python@v2
- with:
- python-version: 3.7
- - name: Set Poetry cache
- uses: actions/cache@v2
- id: poetry-cache
- with:
- path: ~/.cache/pypoetry/virtualenvs
- key: poetry-${{ hashFiles('**/poetry.lock') }}
- - name: Upgrade Pip
- run: python -m pip install --upgrade pip
- - name: Install Poetry
- run: python -m pip install poetry
- - name: Install dependencies
- run: |
- poetry run pip install --upgrade pip
- poetry install
- - name: Run linters
- run: poetry run invoke lint
- deploy:
- name: Deploy
- environment: Deployment
- needs: [lint]
- runs-on: ubuntu-latest
- if: ${{ github.ref=='refs/heads/main' && github.event_name!='pull_request' }}
- steps:
- - uses: actions/checkout@v2
- - name: Setup Python
- uses: actions/setup-python@v2
- with:
- python-version: 3.7
- - name: Check release
- id: check_release
- run: |
- python -m pip install --upgrade pip
- python -m pip install poetry githubrelease httpx==0.16.1 autopub
- echo "##[set-output name=release;]$(autopub check)"
- - name: Publish
- if: ${{ steps.check_release.outputs.release=='' }}
- env:
- GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
- PYPI_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
- run: |
- git remote set-url origin https://$GITHUB_TOKEN@github.com/${{ github.repository }}
- autopub prepare
- poetry build
- autopub commit
- autopub githubrelease
- poetry publish -u __token__ -p $PYPI_PASSWORD
|