diff --git a/.forgejo/workflows/pull-request.yml b/.forgejo/workflows/pull-request.yml new file mode 100644 index 0000000..08de227 --- /dev/null +++ b/.forgejo/workflows/pull-request.yml @@ -0,0 +1,36 @@ +on: [pull_request] + +jobs: + static-analysis: + runs-on: runner-latest + steps: + - uses: actions/checkout@v4 + - name: Linting + run: pipx run pre-commit run ruff -a + - name: Format + run: pipx run pre-commit run ruff-format -a + - name: Validate Yaml + run: pipx run pre-commit run check-yaml -a + - name: Validate shell scripts + run: pipx run pre-commit run shellcheck -a + tests: + runs-on: runner-latest + steps: + - uses: actions/checkout@v4 + - uses: https://github.com/astral-sh/setup-uv@v3 + - name: Tests + run: | + uv venv + uv pip install . + pipx run pre-commit run pytest -a + export-trace: + runs-on: runner-latest + needs: [static-analysis] + steps: + - uses: https://forge.karnov.club/marc/opentelemetry-trace-export-forgejo-action@main + with: + otlp-endpoint: "http://otel.home.karnov.club:4318" + forgejo-token: ${{ secrets.GITHUB_TOKEN }} + forgejo-base-url: ${{ env.GITHUB_SERVER_URL }} + run-id: ${{ env.GITHUB_RUN_NUMBER }} + repo-name: ${{ env.GITHUB_REPOSITORY }}