Live validation: TICKET-I Forgejo Actions CI template (do not merge) #1

Merged
pdurlej merged 2 commits from test/ticket-i-live-validation into main 2026-05-03 20:27:42 +02:00
Owner

@pdurlejreview request: to jest live validation TICKET-I (multi-platform CI templates) na realnym Forgejo. PR nie merguje — close bez merge gdy CI da observable result.

Co jest w PR

Plik Cel
.forgejo/workflows/ci.yml Kopia examples/ci/forgejo-actions.yml z jedną zmianą: pip install -e . zamiast pip install pyfallow (bo nie jeszcze na PyPI).
src/pyfallow/ci_demo_slop.py Intentional slop module — wprowadza 3 oczekiwane findings.

Oczekiwany wynik CI

Workflow pyfallow powinien:

  1. Trigger na pull_request event.
  2. Checkout branch.
  3. Install pyfallow z source (pip install -e .).
  4. Run pyfallow analyze --root . --since <base.sha> --format agent-fix-plan na diff-ie.
  5. Render komentarz markdown przez examples/ci/render_pyfallow_comment.py.
  6. Post komentarz na PR (przez Forgejo API używając ${{ secrets.GITHUB_TOKEN }} auto-injected).
  7. Upload artifacts: pyfallow-report.json, pyfallow-comment.md, pyfallow-exit-code.txt.
  8. Fail workflow z exit code != 0 (bo blocking findings są).

Oczekiwane findings (sanity check przed Approve)

Workflow powinien w komentarzu wymienić:

  • BLOCKING (1): missing-runtime-dependency dla nonexistent_pkg_for_ci_demo w src/pyfallow/ci_demo_slop.py
  • 🟡 REVIEW NEEDED (2):
    • unused-module dla pyfallow.ci_demo_slop (nie reachable z entry)
    • unused-symbol dla demo_unused_helper

CI status: red (bo blocking != []).

Co sprawdzasz przy Approve

  • Workflow pyfallow uruchomił się (visible w PR Actions tab / commit status).
  • Komentarz pyfallow został dodany do tego PR (z classification grouped).
  • CI status jest red (Fail on blocking pyfallow findings step exit 1).
  • Artifacts (pyfallow-report.json, pyfallow-comment.md) są w Actions tab > Artifacts.

Jeśli któryś z punktów failuje, log bug w .codex/DECISIONS.md jako "TICKET-I follow-up" — najczęściej jest to brak skonfigurowanego Forgejo Actions runner-a na rs2000. Sprawdzić można tu: https://git.pdurlej.com/-/admin/actions/runners.

Po validation

  • Close PR bez merge (slop file nie ma landować na main).
  • Skasować branch test/ticket-i-live-validation.
  • Update examples/ci/README.md o "field-validated on git.pdurlej.com (Forgejo 15.0.1)" jako confirmation.

Ja czekam na sygnał

Po Approve / observation, daję znać czy wszystkie punkty zaliczone. Jeśli runner nie jest aktywny, PR pokaże "no checks have run" — wtedy trzeba inny krok (sprawdzić runner setup lub odpalić CLI manualnie i porównać output do template-rendera).

— Claude Opus 4.7

@pdurlej — **review request:** to jest live validation TICKET-I (multi-platform CI templates) na realnym Forgejo. **PR nie merguje** — close bez merge gdy CI da observable result. ## Co jest w PR | Plik | Cel | |---|---| | `.forgejo/workflows/ci.yml` | Kopia `examples/ci/forgejo-actions.yml` z jedną zmianą: `pip install -e .` zamiast `pip install pyfallow` (bo nie jeszcze na PyPI). | | `src/pyfallow/ci_demo_slop.py` | Intentional slop module — wprowadza 3 oczekiwane findings. | ## Oczekiwany wynik CI Workflow `pyfallow` powinien: 1. **Trigger** na `pull_request` event. 2. **Checkout** branch. 3. **Install** pyfallow z source (`pip install -e .`). 4. **Run** `pyfallow analyze --root . --since <base.sha> --format agent-fix-plan` na diff-ie. 5. **Render** komentarz markdown przez `examples/ci/render_pyfallow_comment.py`. 6. **Post** komentarz na PR (przez Forgejo API używając `${{ secrets.GITHUB_TOKEN }}` auto-injected). 7. **Upload** artifacts: `pyfallow-report.json`, `pyfallow-comment.md`, `pyfallow-exit-code.txt`. 8. **Fail** workflow z exit code != 0 (bo blocking findings są). ## Oczekiwane findings (sanity check przed Approve) Workflow powinien w komentarzu wymienić: - ⛔ **BLOCKING (1):** `missing-runtime-dependency` dla `nonexistent_pkg_for_ci_demo` w `src/pyfallow/ci_demo_slop.py` - 🟡 **REVIEW NEEDED (2):** - `unused-module` dla `pyfallow.ci_demo_slop` (nie reachable z entry) - `unused-symbol` dla `demo_unused_helper` CI status: ❌ red (bo blocking != []). ## Co sprawdzasz przy Approve - [ ] Workflow `pyfallow` **uruchomił się** (visible w PR Actions tab / commit status). - [ ] Komentarz pyfallow został **dodany** do tego PR (z classification grouped). - [ ] CI status jest **red** (`Fail on blocking pyfallow findings` step exit 1). - [ ] Artifacts (`pyfallow-report.json`, `pyfallow-comment.md`) są w `Actions tab > Artifacts`. Jeśli **któryś z punktów failuje**, log bug w `.codex/DECISIONS.md` jako "TICKET-I follow-up" — najczęściej jest to brak skonfigurowanego Forgejo Actions runner-a na rs2000. Sprawdzić można tu: <https://git.pdurlej.com/-/admin/actions/runners>. ## Po validation - **Close PR bez merge** (slop file nie ma landować na main). - Skasować branch `test/ticket-i-live-validation`. - Update `examples/ci/README.md` o "field-validated on git.pdurlej.com (Forgejo 15.0.1)" jako confirmation. ## Ja czekam na sygnał Po Approve / observation, daję znać czy wszystkie punkty zaliczone. Jeśli runner nie jest aktywny, PR pokaże "no checks have run" — wtedy trzeba inny krok (sprawdzić runner setup lub odpalić CLI manualnie i porównać output do template-rendera). — Claude Opus 4.7
pdurlej self-assigned this 2026-05-03 11:59:17 +02:00

pyfallow analysis

pyfallow did not produce a JSON report. Check the CI logs.

## pyfallow analysis pyfallow did not produce a JSON report. Check the CI logs.
codex left a comment

placeholder

placeholder
codex left a comment

noop

noop
Sign in to join this conversation.
No description provided.