Merge pull request #280 from codecov/gio/rename-python-standard-runner #646
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: Build-Test-Upload | |
on: [push] # Run on any push event | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
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 | |
steps: | |
- uses: actions/setup-python@v3 | |
- 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 | |
needs: codecov-startup | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- python-version: "3.11" | |
- python-version: "3.10" | |
- python-version: "3.9" | |
- python-version: "3.8" | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
fetch-depth: 2 | |
- name: Set up Python ${{matrix.python-version}} | |
uses: actions/setup-python@v3 | |
with: | |
python-version: "${{matrix.python-version}}" | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
python setup.py develop | |
pip install -r tests/requirements.txt | |
- name: Test with pytest | |
run: | | |
pytest --cov | |
- name: Dogfooding codecov-cli. Use codecov-cli to upload to codecov (new upload endpoint) | |
run: | | |
codecovcli do-upload --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} --plugin pycoverage --flag python${{matrix.python-version}} | |
static-analysis: | |
runs-on: ubuntu-latest | |
needs: codecov-startup | |
steps: | |
- uses: actions/setup-python@v3 | |
- 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 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
fetch-depth: 0 | |
- uses: actions/setup-python@v3 | |
- 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 |