chore: typehint context object #566
Workflow file for this run
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
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | |
name: CLI CI | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install black==22.3.0 isort==5.10.1 | |
- name: Check linting with black | |
run: | | |
black --check codecov_cli | |
- name: Check imports order with isort | |
run: | | |
isort --check --profile=black codecov_cli -p staticcodecov_languages | |
codecov-startup: | |
runs-on: ubuntu-latest | |
if: ${{ !github.event.pull_request.head.repo.fork && github.repository_owner == 'codecov' }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
fetch-depth: 2 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: Install CLI | |
run: | | |
pip install codecov-cli | |
- name: Create commit in codecov | |
run: | | |
codecovcli create-commit -t ${{ secrets.CODECOV_TOKEN }} --git-service github | |
- name: Create commit report in codecov | |
run: | | |
codecovcli create-report -t ${{ secrets.CODECOV_TOKEN }} --git-service github | |
build-test-upload: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- python-version: "3.12" | |
- python-version: "3.11" | |
- python-version: "3.10" | |
- python-version: "3.9" | |
- python-version: "3.8" | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
fetch-depth: 2 | |
- name: Set up Python ${{matrix.python-version}} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "${{matrix.python-version}}" | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
python -m pip install -e . | |
pip install -r tests/requirements.txt | |
- name: Test with pytest | |
run: | | |
pytest --cov --junitxml=junit.xml | |
- name: Dogfooding codecov-cli | |
if: ${{ !github.event.pull_request.head.repo.fork && github.repository_owner == 'codecov' }} | |
run: | | |
codecovcli -v do-upload --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} --plugin pycoverage --flag python${{matrix.python-version}} | |
codecovcli do-upload --report-type test_results --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} --plugin pycoverage --flag python${{matrix.python-version}} | |
static-analysis: | |
runs-on: ubuntu-latest | |
needs: codecov-startup | |
if: ${{ !github.event.pull_request.head.repo.fork && github.repository_owner == 'codecov' }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
fetch-depth: 2 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: Install CLI | |
run: | | |
pip install codecov-cli | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
fetch-depth: 2 | |
- name: Static Analysis | |
run: | | |
codecovcli static-analysis --token ${{ secrets.STATIC_TOKEN }} | |
label-analysis: | |
runs-on: ubuntu-latest | |
needs: static-analysis | |
if: ${{ !github.event.pull_request.head.repo.fork && github.repository_owner == 'codecov' }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
fetch-depth: 0 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: Install CLI | |
run: | | |
pip install -r requirements.txt -r tests/requirements.txt | |
pip install codecov-cli | |
- name: Label Analysis | |
run: | | |
BASE_SHA=$(git merge-base HEAD^ origin/main) | |
echo $BASE_SHA | |
codecovcli label-analysis --token ${{ secrets.STATIC_TOKEN }} --base-sha=$BASE_SHA --max-wait-time=120 | |
- name: Upload smart-labels | |
run: | | |
codecovcli --codecov-yml-path=codecov.yml do-upload --plugin pycoverage --plugin compress-pycoverage --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} --flag smart-labels | |
test-process-test-results-cmd: | |
runs-on: ubuntu-latest | |
permissions: | |
pull-requests: write | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- python-version: "3.12" | |
- python-version: "3.11" | |
- python-version: "3.10" | |
- python-version: "3.9" | |
- python-version: "3.8" | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
fetch-depth: 2 | |
- name: Set up Python ${{matrix.python-version}} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "${{matrix.python-version}}" | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
python -m pip install -e . | |
pip install -r tests/requirements.txt | |
- name: Test with pytest | |
run: | | |
pytest --cov --junitxml=junit.xml | |
- name: Dogfooding codecov-cli | |
if: ${{ !cancelled() }} | |
run: | | |
codecovcli process-test-results --provider-token ${{ secrets.GITHUB_TOKEN }} |