Show project URLs on PyPI #336
Workflow file for this run
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 --project prevent-cli | |
| - name: Run command_dump | |
| run: | | |
| make command_dump | |
| - name: Detect changes on commit | |
| run: | | |
| if [ -n "$(git diff codecov-cli/codecovcli_commands prevent-cli/preventcli_commands)" ]; then | |
| echo "Please run `make command_dump` before submitting, or install the hooks" | |
| echo "$(git diff codecov-cli/codecovcli_commands prevent-cli/preventcli_commands)" | |
| exit 1 | |
| fi | |
| codecov-startup: | |
| runs-on: ubuntu-latest | |
| if: ${{ !github.event.pull_request.head.repo.fork && github.repository_owner == 'getsentry' }} | |
| 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 --project codecov-cli | |
| - name: Create commit in codecov | |
| run: | | |
| uv run --project codecov-cli codecovcli -v create-commit -t ${{ secrets.CODECOV_TOKEN }} --git-service github | |
| - name: Create commit report in codecov | |
| run: | | |
| uv run --project codecov-cli 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 --project codecov-cli | |
| uv sync --project prevent-cli | |
| - name: Test with pytest | |
| run: | | |
| cd codecov-cli | |
| 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 == 'getsentry' }} | |
| run: | | |
| uv run --project codecov-cli codecovcli -v do-upload --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} --plugin pycoverage --flag python${{matrix.python-version}} --flag codecovcli | |
| uv run --project codecov-cli codecovcli do-upload --report-type test_results --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} --plugin pycoverage --flag python${{matrix.python-version}} --flag codecovcli | |
| - name: Dogfooding sentry-prevent-cli | |
| if: ${{ !github.event.pull_request.head.repo.fork && github.repository_owner == 'getsentry' }} | |
| run: | | |
| uv run --project prevent-cli sentry-prevent-cli upload --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} --plugin pycoverage --flag python${{matrix.python-version}} --flag sentry-prevent-cli | |
| uv run --project prevent-cli sentry-prevent-cli upload --report-type test_results --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} --plugin pycoverage --flag python${{matrix.python-version}} --flag sentry-prevent-cli | |
| uv run --project prevent-cli sentry-prevent-cli upload --report-type test-results --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} --plugin pycoverage --flag python${{matrix.python-version}} --flag sentry-prevent-cli |