Skip to content

Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows #43

Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows

Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows #43

Workflow file for this run

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'