The proposer issue only lists auto-proposable fixes (currently the TBB signatures), so every failure without a signature -- and every group blocked on a dependency build -- was invisible unless someone read the run log. That hid the classifier's blind spots and, with them, which new signatures are worth adding next. Extend the tracker to surface those blind spots and give them the same visibility as the proposals: - add pure `unclassified_summary()` (unknown-signature groups ranked by build count, capped with an explicit dropped count) and `blocked_summary()` helpers - print both sections in proposal-tracking.R and add a `--open-issue` mode that posts/updates a "Unclassified build failures (needs signatures)" Forgejo issue - run the tracker with --open-issue in the weekly crow pipeline (second issue) - cover the new helpers with tests and document the flow in the patches README
54 lines
1.9 KiB
YAML
54 lines
1.9 KiB
YAML
# Weekly failure-triage proposals (issue #115, steps 3 + 4).
|
|
# Classifies the recorded `single_builds` failures and:
|
|
# 1. posts/updates a Forgejo issue with the auto-proposable registry entries
|
|
# (human reviews, trial-builds, and opens the PR -- nothing merges),
|
|
# 2. posts/updates a second Forgejo issue with the classifier's blind spots
|
|
# (unclassified failures = candidates for new signatures, and groups
|
|
# blocked on a dependency), and prints the feedback-loop metrics to the log.
|
|
# Global across platforms (the classifier groups over all of single_builds), so
|
|
# a single job -- no matrix. Clones read-only; the only writes are the two
|
|
# Forgejo issues via FORGEJO_TOKEN.
|
|
when:
|
|
- event: manual
|
|
- event: cron
|
|
cron: weekly-patch-proposals
|
|
|
|
skip_clone: true
|
|
|
|
labels:
|
|
group: rpkgs-amd64
|
|
|
|
steps:
|
|
- name: 'Propose registry patches + track feedback loop'
|
|
image: reg.devxy.io/rpkgs/build-env-alpine:3.24
|
|
pull: true
|
|
environment:
|
|
PGPASS:
|
|
from_secret: PGPASS
|
|
REPO_RO_TOKEN:
|
|
from_secret: REPO_RO_TOKEN
|
|
FORGEJO_TOKEN:
|
|
from_secret: FORGEJO_TOKEN
|
|
R_VERSION: 4.5.3
|
|
R_LIBS_USER: /mnt/cache/R-pkgs
|
|
commands:
|
|
- git clone -q https://pat-s:$$REPO_RO_TOKEN@git.devxy.io/devxy/build-cran-binaries.git .
|
|
- mkdir -p /mnt/cache/R-pkgs
|
|
- rm -rf /mnt/cache/R-pkgs/00LOCK-*
|
|
- /opt/R/$R_VERSION/bin/R -q -e 'pak::pak(c("httr2", "jsonlite"))'
|
|
- /opt/R/$R_VERSION/bin/Rscript local/propose-patches.R --open-issue
|
|
- /opt/R/$R_VERSION/bin/Rscript local/proposal-tracking.R --open-issue
|
|
backend_options:
|
|
kubernetes:
|
|
resources:
|
|
requests:
|
|
memory: 1Gi
|
|
cpu: 2000m
|
|
limits:
|
|
memory: 2Gi
|
|
cpu: 2000m
|
|
tolerations:
|
|
- key: 'CI'
|
|
operator: 'Equal'
|
|
value: 'true'
|
|
effect: 'NoSchedule'
|