Commit Graph
32 Commits
Author SHA1 Message Date
Michel Roegl-BrunnerandClaude Opus 4.8 f4199627ef Use GitHub App token to dispatch Incus sync
PAT_AUTOMERGE returned 401; switch the dispatch to the repo's standard
GitHub App (vars.APP_ID / secrets.APP_PRIVATE_KEY) scoped to the Incus repo.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A1R2A9UYwyL1FwcsADzSWU
2026-08-25 14:18:51 +02:00
Michel Roegl-BrunnerandClaude Opus 4.8 488e5a21c5 Add instant Incus sync trigger on ct/install changes
Fire a repository_dispatch (proxmoxve-scripts-changed) to
community-scripts/Incus whenever a ct/ or install/ script changes on main,
so the mirror tracks upstream within minutes instead of waiting for its
daily cron. The mirroring + bootstrap rewrite stays in the Incus repo as the
single source of truth.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A1R2A9UYwyL1FwcsADzSWU
2026-08-25 14:11:04 +02:00
Michel Roegl-BrunnerandClaude Opus 4.8 803fbfdd9f Document the breaking-change advisory block in the PR template
Explains the ```breaking-change block a breaking-change PR can carry —
severity, action (warn/block), expect, and before_update steps — with a
copy-paste example kept inside an HTML comment so it stays inert until an
author fills it in.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TFBuZEp142Ei2PAfWqbMXT
2026-08-24 13:14:17 +02:00
Michel Roegl-BrunnerandClaude Opus 4.8 19bfe87e0e Notify Helper-Scripts site when a breaking-change PR merges
On a merged PR labelled "breaking change", POST the PR number to the site's
/api/breaking-changes/ingest endpoint so it can show a temporary advisory on
the affected scripts. Uses pull_request_target (secrets available for fork
PRs) and never checks out PR code — it only forwards the number after merge.
The `labeled` trigger also covers labelling a PR after it has merged.

Requires repo secret BREAKING_CHANGE_INGEST_SECRET (matching the site) and an
optional SITE_URL variable (defaults to https://community-scripts.org).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TFBuZEp142Ei2PAfWqbMXT
2026-08-24 10:33:51 +02:00
Michel Roegl-Brunner e15db754a6 github: close PRs that do not follow the PR template
Add a workflow that validates description, prerequisites, and type-of-change checkboxes, with exemptions for bots, maintainers, and the keep open label.
2026-07-16 11:46:06 +02:00
Michel Roegl-Brunner 29c25a0ab8 bot blacklist 2026-06-16 13:01:26 +02:00
Michel Roegl-BrunnerandCursor e60c1f31c2 Stop spinner for deleted/disabled info messages
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-16 11:11:23 +02:00
Michel Roegl-Brunner 28411ecb5f New workflow to delete stale branches 2026-06-03 11:13:00 +02:00
Michel Roegl-BrunnerandClaude Opus 4.8 354ceef128 fix(pocketbase-ai-bot): open CT-defaults sync PR with built-in GITHUB_TOKEN
The App installation token lacks contents:write, so creating the
pocketbase-sync/<slug> branch failed with 403 "Resource not accessible by
integration". Mirror the slash bot: run the CT-defaults branch/commit/PR
operations with the built-in GITHUB_TOKEN (workflow now requests
contents:write + pull-requests:write), while the App token still posts the
user-facing comments/reactions. ensureBranch/upsertCtDefaultsPr shadow
ghRequest with a GITHUB_TOKEN-authenticated ghDefault.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 14:11:43 +02:00
Michel Roegl-BrunnerandClaude Opus 4.8 1a6dbb0bf8 fix(pocketbase-ai-bot): use @pocketbase-bot handle and harden confirm flow
- Trigger and all user-facing text now use @pocketbase-bot (the bare
  @pocketbase handle collides with an existing account)
- Confirm flow only trusts a pocketbase-pending marker found in a comment
  authored by this bot app (performed_via_github_app.id == PB_BOT_APP_ID),
  preventing a forged-marker spoof; decoded operations are re-validated
  against the field/op allow-lists before applying (shared sanitizeOperations)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 14:03:17 +02:00
Michel Roegl-BrunnerandClaude Opus 4.8 f14eca3bc9 feat(pocketbase-ai-bot): natural-language @pocketbase bot via GitHub Models
Adds an isolated workflow that lets maintainers manage PocketBase script
records in plain English by mentioning @pocketbase in an issue/PR comment
(e.g. "@pocketbase change RAM to 4096 on zigbee2mqtt").

- Interprets the request with GitHub Models (built-in GITHUB_TOKEN + models:read)
- Posts under a dedicated GitHub App identity (PB_BOT_APP_ID/PB_BOT_APP_PRIVATE_KEY)
- Propose-then-confirm: replies with the parsed change set and a hidden marker;
  applies only after "@pocketbase confirm"
- Reuses the slash bot's field/note/method allow-lists, validation, revalidate,
  and CT-defaults sync PR logic; self-author guard prevents trigger loops
- Existing /pocketbase slash bot is untouched (triggers do not overlap)

Inert until the GitHub App is created and its two secrets are added.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 13:54:12 +02:00
Michel Roegl-BrunnerandClaude Opus 4.8 d4b4880e0d fix(pocketbase-bot): recognize /pocketbase command on any line of a comment
- Job gate uses contains() instead of startsWith() so comments with leading
  text still trigger the bot
- Script scans all lines for the first one starting with /pocketbase, instead
  of only reading line 0
- Command-line detection moved above the permission check so mid-sentence
  mentions exit silently without a "not authorized" reply

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 11:52:47 +02:00
Michel Roegl-BrunnerandClaude Opus 4.8 9dc08aa8c1 ci(workflows): harden new-script close, slug-match VED issue close, 7-day lock
- close-new-script-prs: trigger on added script file OR label, exempt by
  author_association (OWNER/MEMBER/COLLABORATOR) instead of team API
- close_issue_in_dev: match VED issues by derived slug, close all matches
- lock-issue: lock closed issues after 7 days instead of 3

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 11:43:08 +02:00
Michel Roegl-Brunner 513e58b5d1 enhance pocketbase bot 2026-04-28 10:10:05 +02:00
Michel Roegl-Brunner 968e96e2c7 Delete removed scripts from pocketbase 2026-03-11 13:37:35 +01:00
Michel Roegl-Brunner 516d8d7a0f toggle is_dev to false when a new script gets merged 2026-03-10 16:07:51 +01:00
Michel Roegl-Brunner a11f282a43 Update workflow 2026-03-10 15:44:28 +01:00
Michel Roegl-Brunner eba96a55d2 New workflow to update last updated field in Database when a script gets changed, also adds last_update_link to link to the latest changes 2026-03-10 15:33:15 +01:00
Michel Roegl-Brunner 37f4585110 New workflow to update last updated field in Database when a script gets changed, also adds last_update_link to link to the latest changes 2026-03-10 15:33:15 +01:00
Michel Roegl-Brunner 88d1494e46 Adapt workflow 2026-03-02 16:28:35 +01:00
Michel Roegl-Brunner 3701737eff Workflow test 2026-03-02 15:35:41 +01:00
Michel Roegl-Brunner b39e296684 Workflow test 2026-03-02 15:35:28 +01:00
Michel Roegl-Brunner d8a7620c64 Workflow test 2026-03-02 15:26:52 +01:00
Michel Roegl-Brunner 7d5900de18 Add workflow to push json changes to pocketbase 2026-03-02 15:26:41 +01:00
Michel Roegl-Brunner 5c246310f4 Workflow test 2026-03-02 14:46:46 +01:00
Michel Roegl-Brunner bdad2cc941 Add workflow to push json changes to pocketbase 2026-03-02 14:46:31 +01:00
Michel Roegl-Brunner 564a8136a5 Workflow test 2026-03-02 14:38:01 +01:00
Michel Roegl-Brunner 00047c95b8 Add workflow to push json changes to pocketbase 2026-03-02 14:37:50 +01:00
Michel Roegl-Brunner 9849ce79a7 Workflow test 2026-03-02 14:36:14 +01:00
Michel Roegl-Brunner cea9858193 Add workflow to push json changes to pocketbase 2026-03-02 14:36:02 +01:00
Michel Roegl-Brunner ee8ea672ef Workflow test 2026-03-02 14:33:35 +01:00
Michel Roegl-Brunner fc59910bd2 Add workflow to push json changes to pocketbase 2026-03-02 14:15:44 +01:00