# Weekly failure-triage proposals (issue #115, steps 3 + 4). # Classifies the recorded `single_builds` failures and: # 1. posts/updates a Forgejo tracking issue with the auto-proposable registry # entries (human reviews, trial-builds, and opens the PR -- nothing merges), and # 2. prints the feedback-loop metrics (signature hit rate, proposed-vs-merged, # retirement candidates) to the run log. # Global across platforms (the classifier groups over all of single_builds), so # a single job -- no matrix. Clones read-only; the only write is the Forgejo # issue 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 backend_options: kubernetes: resources: requests: memory: 1Gi cpu: 2000m limits: memory: 2Gi cpu: 2000m tolerations: - key: 'CI' operator: 'Equal' value: 'true' effect: 'NoSchedule'