refactor: remove prevent-cli and flatten codecov-cli to repo root (#709) #1245
This file contains hidden or 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
| --- | |
| # yamllint disable rule:line-length | |
| # 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 | |
| permissions: | |
| contents: read | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Check linting with ruff | |
| run: | | |
| make lint | |
| detect-command-change: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python 3.13 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.13" | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install uv | |
| uv sync | |
| - name: Run command_dump | |
| run: | | |
| make command_dump | |
| - name: Detect changes on commit | |
| run: | | |
| if [ -n "$(git diff codecovcli_commands)" ]; then | |
| echo "Please run `make command_dump` before submitting, or install the hooks" | |
| echo "$(git diff codecovcli_commands)" | |
| exit 1 | |
| fi | |
| codecov-startup: | |
| runs-on: ubuntu-latest | |
| if: ${{ !github.event.pull_request.head.repo.fork && github.repository_owner == 'codecov' }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 2 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install CLI | |
| run: | | |
| pip install uv | |
| uv sync | |
| - name: Create commit in codecov | |
| run: | | |
| uv run codecovcli -v create-commit -t ${{ secrets.CODECOV_TOKEN }} --git-service github | |
| - name: Create commit report in codecov | |
| run: | | |
| uv run codecovcli -v create-report -t ${{ secrets.CODECOV_TOKEN }} --git-service github | |
| build-test-upload: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| python-version: ["3.13", "3.12", "3.11", "3.10", "3.9"] | |
| runs-on: ${{matrix.os}} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| 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: | | |
| pip install uv | |
| uv sync | |
| - name: Test with pytest | |
| run: | | |
| uv run pytest --cov --junitxml=${{matrix.os}}-${{matrix.python-version}}junit.xml | |
| env: | |
| CODECOV_ENV: test | |
| - name: Dogfooding codecov-cli | |
| if: ${{ !github.event.pull_request.head.repo.fork && github.repository_owner == 'codecov' }} | |
| run: | | |
| uv run codecovcli -v do-upload --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} --plugin pycoverage --flag python${{matrix.python-version}} --flag codecovcli | |
| uv run codecovcli do-upload --report-type test_results --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} --plugin pycoverage --flag python${{matrix.python-version}} --flag codecovcli |