disable pipenv caching and restore full pipenv install #205
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Continuous Deployment | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
lint-python: | |
name: Lint Python code | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install pipenv | |
run: pipx install pipenv | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
cache: "pipenv" | |
- id: pipenv-install | |
name: Install Python dependencies | |
run: pipenv install --dev --python `which python` | |
- id: lint | |
name: Lint | |
run: pipenv run flake8 ./ | |
test-docs: | |
name: Test Sphinx build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install pipenv | |
run: pipx install pipenv | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.9" | |
cache: "pipenv" | |
- id: pipenv-install | |
name: Install Python dependencies | |
run: pipenv install --dev --python `which python` | |
- id: typing-ext-install | |
name: Install Python dependencies | |
run: pipenv install --dev --python `which python` typing-extensions | |
- id: build | |
name: Build | |
run: make test-docs | |
- id: save | |
name: Save artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: docs-${{ github.run_number }} | |
path: ./docs | |
if-no-files-found: error | |
test-python: | |
strategy: | |
matrix: | |
python: ["3.10", "3.11"] | |
# python: ["3.8", "3.9", "3.10", "3.11"] | |
name: Test Python code | |
runs-on: ubuntu-latest | |
steps: | |
- id: checkout | |
name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install pipenv | |
run: pipx install pipenv | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python }} | |
# cache: "pipenv" | |
- id: pipenv-install | |
name: Install Python dependencies | |
# run: pipenv install --dev | |
run: pipenv install --dev --python `which python` | |
- id: check-pytest-version | |
name: Check Pytest Version | |
run: pipenv run pytest --version | |
- id: run | |
name: Run tests | |
run: pipenv run pytest -sv | |
test-build: | |
name: Build Python package | |
runs-on: ubuntu-latest | |
needs: [test-python] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install pipenv | |
run: pipx install pipenv | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.10' | |
cache: 'pipenv' | |
- id: pipenv-install | |
name: Install Python dependencies | |
run: pipenv install --dev --python `which python` | |
- id: build | |
name: Build release | |
run: make build-release | |
- id: check | |
name: Check release | |
run: make check-release | |
- id: save | |
name: Save artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test-release-${{ github.run_number }} | |
path: ./dist | |
if-no-files-found: error | |
tag-release: | |
name: Tagged PyPI release | |
runs-on: ubuntu-latest | |
needs: [test-build] | |
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') | |
steps: | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.9' | |
- id: fetch | |
name: Fetch artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: test-release-${{ github.run_number }} | |
path: ./dist | |
- id: publish | |
name: Publish release | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
user: __token__ | |
password: ${{ secrets.PYPI_API_TOKEN }} | |
verbose: true | |
verify_metadata: false |