diff --git a/{{cookiecutter.project_slug}}/.github/workflows/main.yml b/{{cookiecutter.project_slug}}/.github/workflows/main.yml new file mode 100644 index 0000000..2087fc8 --- /dev/null +++ b/{{cookiecutter.project_slug}}/.github/workflows/main.yml @@ -0,0 +1,59 @@ +name: build + +on: + push: + branches: [ 'main' ] + tags: [ '*' ] + pull_request: + branches: [ 'main' ] + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout sources + uses: actions/checkout@v2 + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: 3.7.10 + + - name: Install pipenv + run: pip install pipenv + + - name: Lint + run: _CI/scripts/lint.py + + - name: Test + run: _CI/scripts/test.py + + - name: Build + run: _CI/scripts/build.py + + release: + if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') + needs: build + runs-on: ubuntu-latest + environment: + name: release + steps: + - name: Checkout sources + uses: actions/checkout@v2 + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: 3.7.10 + + - name: Install pipenv + run: pip install pipenv + + - name: Upload + run: _CI/scripts/upload.py + + env: + PYPI_UPLOAD_USERNAME: ${{ secrets.PYPI_UPLOAD_USERNAME }} + PYPI_UPLOAD_PASSWORD: ${{ secrets.PYPI_UPLOAD_PASSWORD }}