Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows #43
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: CI | |
on: | |
pull_request: | |
workflow_dispatch: | |
env: | |
FORCE_COLOR: "1" # Make tools pretty. | |
TOX_TESTENV_PASSENV: FORCE_COLOR | |
PIP_DISABLE_PIP_VERSION_CHECK: "1" | |
PIP_NO_PYTHON_VERSION_WARNING: "1" | |
SETUPTOOLS_SCM_PRETEND_VERSION: "1.0" # avoid warnings about shallow checkout | |
PYTHON_LATEST: "3.11" | |
permissions: | |
contents: read | |
jobs: | |
tests: | |
name: tox on ${{ matrix.python-version }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: | |
- "3.7" | |
- "3.8" | |
- "3.9" | |
- "3.10" | |
- "3.11" | |
steps: | |
- name: Harden Runner | |
uses: step-security/harden-runner@v2 | |
with: | |
egress-policy: block | |
allowed-endpoints: > | |
api.github.com:443 | |
files.pythonhosted.org:443 | |
github.com:443 | |
objects.githubusercontent.com:443 | |
pypi.org:443 | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- run: python -m pip install --upgrade wheel tox tox-gh-actions | |
- run: python -m tox | |
- name: Upload coverage data | |
uses: actions/upload-artifact@v3 | |
with: | |
name: coverage-data | |
path: .coverage.* | |
if-no-files-found: ignore | |
coverage: | |
name: Combine & check coverage | |
runs-on: ubuntu-latest | |
needs: tests | |
steps: | |
- name: Harden Runner | |
uses: step-security/harden-runner@v2 | |
with: | |
egress-policy: audit | |
allowed-endpoints: > | |
files.pythonhosted.org:443 | |
github.com:443 | |
pypi.org:443 | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
# Use latest Python, so it understands all syntax. | |
python-version: ${{env.PYTHON_LATEST}} | |
- run: python -m pip install --upgrade coverage[toml] | |
- uses: actions/download-artifact@v4.1.7 | |
with: | |
name: coverage-data | |
- name: Combine coverage | |
run: | | |
python -m coverage combine | |
python -m coverage html --skip-empty | |
# Report and write to summary. | |
python -m coverage report | sed 's/^/ /' >> $GITHUB_STEP_SUMMARY | |
python -m coverage json | |
- name: Upload HTML report | |
uses: actions/upload-artifact@v3 | |
with: | |
name: html-report | |
path: htmlcov | |
- name: Upload JSON report | |
uses: actions/upload-artifact@v3 | |
with: | |
name: json-report | |
path: coverage.json | |
- name: Prep badge | |
if: (github.repository == 'adamwolf/issue-expander') && (github.ref == 'refs/heads/main') | |
run: | | |
export TOTAL=$(python -c "import json;print(json.load(open('coverage.json'))['totals']['percent_covered_display'])") | |
echo "total=$TOTAL" >> $GITHUB_ENV | |
# See https://nedbatchelder.com/blog/202209/making_a_coverage_badge.html | |
- name: Make coverage badge | |
if: (github.repository == 'adamwolf/issue-expander') && (github.ref == 'refs/heads/main') | |
uses: schneegans/dynamic-badges-action@v1.4.0 | |
with: | |
# GIST_TOKEN is a GitHub personal access token with scope "gist". | |
auth: ${{ secrets.GIST_TOKEN }} | |
gistID: 4537e853375d0289662b6c7741571cb0 | |
filename: covbadge.json | |
label: Coverage | |
message: ${{ env.total }}% | |
minColorRange: 50 | |
maxColorRange: 90 | |
valColorRange: ${{ env.total }} | |
homebrew-install: | |
name: Check Homebrew install docs | |
runs-on: macos-latest | |
steps: | |
- name: Harden Runner | |
uses: step-security/harden-runner@v2 | |
with: | |
egress-policy: block | |
allowed-endpoints: > | |
files.pythonhosted.org:443 | |
github.com:443 | |
pypi.org:443 | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{env.PYTHON_LATEST}} | |
- run: sh _docs/install-via-homebrew.txt | |
- run: | | |
OUTPUT=$(echo "adamwolf/issue-expander#14" | issue-expander -) | |
if [ "$OUTPUT" -ne '[Add instructions for developers #14](https://github.com/adamwolf/issue-expander/issues/14)' ]; then | |
exit 1 | |
fi | |
preinstalled-pipx-install: | |
name: Check pipx install docs | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ macos-latest ] | |
steps: | |
- name: Harden Runner | |
uses: step-security/harden-runner@v2 | |
with: | |
egress-policy: block | |
allowed-endpoints: > | |
files.pythonhosted.org:443 | |
github.com:443 | |
pypi.org:443 | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{env.PYTHON_LATEST}} | |
- run: sh _docs/install-via-pipx.txt | |
- run: | | |
OUTPUT=$(echo "adamwolf/issue-expander#14" | issue-expander -) | |
if [ "$OUTPUT" -ne '[Add instructions for developers #14](https://github.com/adamwolf/issue-expander/issues/14)' ]; then | |
exit 1 | |
fi | |
install-pipx-install: | |
name: Check pipx install docs | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ ubuntu-latest ] | |
steps: | |
- name: Harden Runner | |
uses: step-security/harden-runner@v2 | |
with: | |
egress-policy: audit | |
allowed-endpoints: > | |
files.pythonhosted.org:443 | |
github.com:443 | |
pypi.org:443 | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{env.PYTHON_LATEST}} | |
- run: | | |
python3 -m pip install --user pipx | |
python3 -m pipx ensurepath | |
- run: sh _docs/install-via-pipx.txt | |
- run: | | |
OUTPUT=$(echo "adamwolf/issue-expander#14" | issue-expander -) | |
if [ "$OUTPUT" -ne '[Add instructions for developers #14](https://github.com/adamwolf/issue-expander/issues/14)' ]; then | |
exit 1 | |
fi | |
install-dev-instructions: | |
name: Check dev env docs | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
steps: | |
- name: Harden Runner | |
uses: step-security/harden-runner@v2 | |
with: | |
egress-policy: audit | |
allowed-endpoints: > | |
files.pythonhosted.org:443 | |
github.com:443 | |
pypi.org:443 | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{env.PYTHON_LATEST}} | |
- run: | | |
mkdir -p tmptmp | |
cd tmptmp | |
bash -x ../_docs/devclone.txt | |
cd issue-expander | |
- run: | | |
cd tmptmp/ | |
bash -x ../_docs/devvenv.txt | |
- run: | | |
cd tmptmp/issue-expander; source venv/bin/activate | |
bash -x ../../_docs/devinstall.txt | |
- run: | | |
cd tmptmp/issue-expander ; source venv/bin/activate | |
bash -x ../../_docs/devtest.txt | |
- run: | | |
cd tmptmp/issue-expander; source venv/bin/activate | |
OUTPUT=$(echo "adamwolf/issue-expander#14" | issue-expander -) | |
if [ "$OUTPUT" -ne '[Add instructions for developers #14](https://github.com/adamwolf/issue-expander/issues/14)' ]; then | |
exit 1 | |
fi | |
- run: | # make sure we can import it | |
cd tmptmp/issue-expander; source venv/bin/activate | |
python -c 'import issue_expander' |