Bump actions/setup-python from 4.6.1 to 4.7.0 #102
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: "Main branch verification" | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
Tests: | |
name: "Tests | ${{ matrix.os }} | Python ${{ matrix.python-version }}" | |
env: | |
USING_COVERAGE: '3.11' | |
USING_DOCS: '3.11' | |
USING_DIST: '3.11' | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ["Ubuntu", "Windows"] | |
python-version: ["3.11", "3.10"] | |
runs-on: "${{ matrix.os }}-latest" | |
steps: | |
- uses: "actions/checkout@v4" | |
- name: "Set up Python ${{ matrix.python-version }}" | |
uses: "actions/[email protected]" | |
with: | |
python-version: "${{ matrix.python-version }}" | |
- uses: "abatilo/[email protected]" | |
- name: "Install dependencies" | |
run: | | |
python -VV | |
python -m site | |
python -m pip install --upgrade pip setuptools wheel coverage[toml] tox tox-gh-actions | |
poetry install | |
# - name: "Configure poetry" | |
# run: poetry config virtualenvs.in-project true | |
# | |
# - name: "Set up cache" | |
# uses: actions/cache@v2 | |
# id: cache | |
# with: | |
# path: .venv | |
# key: venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('**/poetry.lock') }} | |
# | |
# - name: "Ensure cache is healthy" | |
# if: steps.cache.outputs.cache-hit == 'true' | |
# run: timeout 10s poetry run pip --version || rm -rf .venv | |
- name: "Run tox targets for ${{ matrix.python-version }}" | |
run: tox | |
# - name: "Get coverage" | |
# if: "contains(env.USING_COVERAGE, matrix.python-version)" | |
# run: | | |
# set -xe | |
# tox -e coverage-report | |
# - name: "Upload coverage to Codecov" | |
# if: "contains(env.USING_COVERAGE, matrix.python-version)" | |
# uses: "codecov/codecov-action@v1" | |
# with: | |
# fail_ci_if_error: true | |
- name: "Upload docs artifacts" | |
if: "contains(env.USING_DOCS, matrix.python-version)" | |
uses: actions/upload-artifact@v3 | |
with: | |
name: docs | |
path: docs/_build/html | |
# | |
# - name: "Upload coverage artifacts" | |
# if: "contains(env.USING_DOCS, matrix.python-version)" | |
# uses: actions/upload-artifact@v3 | |
# with: | |
# name: coverage | |
# path: .coverage-reports | |
# | |
# - name: "Publish package to TestPyPI" | |
# if: "contains(env.TESTPYPI_PUBLISH, matrix.python-version)" | |
# uses: pypa/[email protected] | |
# with: | |
# skip_existing: true | |
# user: __token__ | |
# password: ${{ secrets.TESTPYPI_TOKEN }} | |
# repository_url: https://test.pypi.org/legacy/ | |
Build: | |
needs: Tests | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ["Ubuntu"] | |
python-version: ["3.9"] | |
runs-on: "${{ matrix.os }}-latest" | |
steps: | |
- uses: "actions/checkout@v4" | |
- name: "Set up Python ${{ matrix.python-version }}" | |
uses: "actions/[email protected]" | |
with: | |
python-version: "${{ matrix.python-version }}" | |
- name: "Install poetry" | |
uses: "abatilo/[email protected]" | |
# | |
# - name: "Configure poetry" | |
# run: poetry config virtualenvs.in-project true | |
# | |
# - name: "Set up cache" | |
# uses: actions/cache@v2 | |
# id: cache | |
# with: | |
# path: .venv | |
# key: venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('**/poetry.lock') }} | |
# | |
# - name: "Ensure cache is healthy" | |
# if: steps.cache.outputs.cache-hit == 'true' | |
# run: timeout 10s poetry run pip --version || rm -rf .venv | |
- name: "Build package" | |
id: build | |
run: | | |
poetry build | |
- name: "Upload dist artifacts" | |
uses: actions/upload-artifact@v3 | |
with: | |
name: package-dist-${{ runner.os }}-${{ steps.full-python-version.outputs.version }} | |
path: dist/ | |
- name: "Run help" | |
run: "poetry run yacfg --help" | |
Publish: | |
needs: Build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@master | |
with: | |
name: docs | |
path: pages | |
# | |
# - uses: actions/download-artifact@master | |
# with: | |
# name: coverage | |
# path: pages/coverage | |
# Push the docs' HTML to github-pages | |
- name: "GitHub Pages action" | |
uses: peaceiris/[email protected] | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
publish_dir: pages/ |