name: Smokeshow on: workflow_run: # zizmor: ignore[dangerous-triggers] workflows: [Test] types: [completed] permissions: {} env: UV_NO_SYNC: true jobs: smokeshow: runs-on: ubuntu-latest permissions: statuses: write timeout-minutes: 5 steps: - name: Dump GitHub context env: GITHUB_CONTEXT: ${{ toJson(github) }} run: echo "$GITHUB_CONTEXT" - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version-file: ".python-version" - name: Setup uv uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1 with: version: "latest-known" cache-suffix: github-actions cache-dependency-glob: | pyproject.toml uv.lock - run: uv sync --locked --no-dev --group github-actions - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: coverage-html path: htmlcov github-token: ${{ secrets.GITHUB_TOKEN }} run-id: ${{ github.event.workflow_run.id }} # Try 5 times to upload coverage to smokeshow - name: Upload coverage to Smokeshow run: | for i in 1 2 3 4 5; do if uv run smokeshow upload htmlcov; then echo "Smokeshow upload success!" break fi echo "Smokeshow upload error, sleep 1 sec and try again." sleep 1 done env: SMOKESHOW_GITHUB_STATUS_DESCRIPTION: Coverage {coverage-percentage} SMOKESHOW_GITHUB_COVERAGE_THRESHOLD: 100 SMOKESHOW_GITHUB_CONTEXT: coverage SMOKESHOW_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SMOKESHOW_GITHUB_PR_HEAD_SHA: ${{ github.event.workflow_run.head_sha }} SMOKESHOW_AUTH_KEY: ${{ secrets.SMOKESHOW_AUTH_KEY }} # zizmor: ignore[secrets-outside-env]