diff --git a/.forgejo/workflows/pull-request.yml b/.forgejo/workflows/pull-request.yml index 08de227..0ebf982 100644 --- a/.forgejo/workflows/pull-request.yml +++ b/.forgejo/workflows/pull-request.yml @@ -1,4 +1,6 @@ -on: [pull_request] +on: + pull_request: + workflow_dispatch: jobs: static-analysis: diff --git a/.forgejo/workflows/push.yml b/.forgejo/workflows/push.yml new file mode 100644 index 0000000..cf0992f --- /dev/null +++ b/.forgejo/workflows/push.yml @@ -0,0 +1,39 @@ +on: + workflow_dispatch: + push: + branches: [main] + +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 }}