Commit Graph

597 Commits

Author SHA1 Message Date
CanbiZ (MickLesk) 63e4ea1396 core: extend new vars and pocketbase values (#16313)
* Let docker-install.sh take its three answers up front

The script asked three questions with no way to answer them in advance,
so a Docker container could not be deployed unattended: Portainer, the
Portainer Agent, and whether to expose the TCP socket.

Each now reads a variable and prompts only when it is unset, the same
shape install/forgejo-runner-install.sh already uses:

  var_portainer         yes | no
  var_portainer_agent   yes | no
  var_docker_socket     n | l (127.0.0.1) | a (0.0.0.0)

Interactive behaviour is unchanged — with nothing set, all three still
ask exactly as before.

The matching declaration for the script's PocketBase record, which the
website generator reads to offer these as form fields:

  "app_vars": [
    {"name":"var_portainer","label":"Install Portainer","type":"boolean","default":"no"},
    {"name":"var_portainer_agent","label":"Install Portainer Agent","type":"boolean","default":"no",
     "help":"Only used when Portainer itself is not installed"},
    {"name":"var_docker_socket","label":"Expose Docker TCP socket","type":"select",
     "options":["n","l","a"],"default":"n",
     "help":"l = 127.0.0.1 only, a = all interfaces (insecure)"}
  ]

CONTRIBUTING.md documents the convention so the next script follows it.

* Let docker-install.sh take its three answers up front

The script asked three questions with no way to answer them in advance,
so a Docker container could not be deployed unattended: Portainer, the
Portainer Agent, and whether to expose the TCP socket.

Each now reads a variable and prompts only when it is unset, the same
shape install/forgejo-runner-install.sh already uses:

  var_portainer         yes | no
  var_portainer_agent   yes | no
  var_docker_socket     n | l (127.0.0.1) | a (0.0.0.0)

Interactive behaviour is unchanged — with nothing set, all three still
ask exactly as before.

The matching declaration for the script's PocketBase record, which the
website generator reads to offer these as form fields:

  "app_vars": [
    {"name":"var_portainer","label":"Install Portainer","type":"boolean","default":"no"},
    {"name":"var_portainer_agent","label":"Install Portainer Agent","type":"boolean","default":"no",
     "help":"Only used when Portainer itself is not installed"},
    {"name":"var_docker_socket","label":"Expose Docker TCP socket","type":"select",
     "options":["n","l","a"],"default":"n",
     "help":"l = 127.0.0.1 only, a = all interfaces (insecure)"}
  ]

CONTRIBUTING.md documents the convention so the next script follows it.

* Let forgejo-runner and pangolin take their answers up front

forgejo-runner already exported two of the three values its install
script requires, but not var_forgejo_runner_uuid — so an unattended
install passed the ct-level guard and then stopped at a prompt inside
the container, which is the one place nobody can answer it. The guard
missed it for the same reason.

pangolin asked for its URL and email with no way to supply them. Both
sides are needed: the read in install/ now only fires when the variable
is unset, and ct/ exports it, because lxc-attach carries the caller's
environment but only what was exported.

Reverts the docker change from the previous commit; it is superseded by
work on another branch.

* Teach the PocketBase workflows the capability fields

All three wrote fields the site no longer reads. The slash bot and the
AI bot accepted has_arm=true and github=owner/repo; push-json mapped
has_arm into the payload. After the schema change those writes would
have gone to columns that are not there.

architectures and platforms are multi-selects over a closed set, so
both bots reject an unknown value instead of storing it — the same
guarantee the field type gives in the admin UI.

push-json still reads has_arm when architectures is absent, because
ProxmoxVED's json files carry the old key until they are converted.

* Drop the docker change again

It came back through the merge in 35735dae: the branch was pushed
before the revert, so merging the remote copy restored it. Removing it
forward rather than rewriting history that is already published.
2026-08-07 12:49:45 +10:00
CanbiZ (MickLesk) 86d67affa3 Refactor: harmonize tools/addon and move boilerplate into core.func (#16202) 2026-08-04 21:02:03 +02:00
community-scripts-pr-app[bot] f2ef2776e7 Archive old changelog entries (#16206)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-08-02 00:19:31 +00:00
Michel Roegl-Brunner 089bcd1c09 Revise pull request template for AI compliance
Updated the pull request template to include AI assistance confirmation and additional instructions for AI-generated scripts.
2026-07-30 10:49:28 +02:00
Sam Heinz 1fa4c1fbf7 fix Node.js version drift (#16111)
* fix Node.js version drift

* add upgrade node for oxicloud,ps5,syncin
2026-07-28 13:36:40 +02:00
Sam Heinz 47b8fbf2fb fix keep-open for close invalid pr (#16105) 2026-07-28 11:44:26 +02:00
CanbiZ (MickLesk) 303bb672e6 Bump GitHub Actions across workflows (#16091)
* Bump GitHub Actions across workflows

Update workflow dependencies to newer major versions in repository automation files. This upgrades `actions/checkout` to v7, `actions/github-script` to v9, `actions/create-github-app-token` to v3, and GitHub Pages actions (`upload-pages-artifact` and `deploy-pages`) to v5 to keep CI/CD and maintenance workflows current.

* add dependabot for gh actions
2026-07-28 10:08:38 +02:00
MickLesk 46a1e13981 Harden close_issue_in_dev workflow
Refactor the workflow to prefer back-references stamped in PR bodies over fuzzy title/slug matching. Add safety guard refusing to close more than 3 issues per PR. Restrict issue search to migration-labelled issues only. Use exact slug matching instead of substring matching. Add permissions block, env var for DEV_REPO, and skip already-closed issues.
2026-07-27 10:02:28 +02:00
community-scripts-pr-app[bot] 41eb00bda4 Archive old changelog entries (#16017)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-07-26 00:20:07 +00:00
community-scripts-pr-app[bot] e7f6a6d4cd Archive old changelog entries (#15883)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-07-19 00:17:24 +00:00
MickLesk 7bf45d5b66 fix stupid branch delete bot 2026-07-17 12:49:24 +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
CanbiZ (MickLesk) c039ab2e62 Refactor input and checkbox fields for repository stars 2026-07-14 12:45:49 +02:00
CanbiZ (MickLesk) 63f219f14f Revise project eligibility criteria in request template
Updated eligibility requirements for project requests in the discussion template, clarifying the criteria for self-hosting, repository stars, and project age.
2026-07-14 12:44:19 +02:00
community-scripts-pr-app[bot] 76335cefe8 Archive old changelog entries (#15714)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-07-12 00:17:46 +00:00
community-scripts-pr-app[bot] 604f7c7ae9 Archive old changelog entries (#15599)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-07-05 00:21:02 +00:00
CanbiZ (MickLesk) 5d25171d8d harmonize with frontend 2026-06-30 14:09:56 +02:00
community-scripts-pr-app[bot] e36e0bbe3f Archive old changelog entries (#15450)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-06-28 00:22:24 +00:00
community-scripts-pr-app[bot] ecd563b94e Archive old changelog entries (#15252)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-06-21 00:26:06 +00:00
Sam Heinz 610a3d56b7 add arm64 title check to autolabeler (#15235) 2026-06-21 00:48:19 +02:00
Trollfjorden 5dfabfbb92 fix (workflow): YAML syntax error in pocketbase stub generation (#15174)
* fix (workflow): YAML syntax error in pocketbase stub generation

* fix: remove leftover semicolon row, add string literals
2026-06-19 08:42:12 +02:00
Michel Roegl-Brunner 29c25a0ab8 bot blacklist 2026-06-16 13:01:26 +02:00
Michel Roegl-Brunner 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 7ee47be436 Add runtime status guard and deleted script stubs (#15125)
* Add runtime script status guard and deleted-script stubs.

Prevent disabled/deleted scripts from running updates with clear user messages, and ensure deleted ct scripts are stubbed automatically so legacy update commands no longer fail with 404.

* Delete ct/ente.sh

* Update booklore.sh
2026-06-16 10:56:29 +02:00
community-scripts-pr-app[bot] 46f163c50c Archive old changelog entries (#15097)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-06-14 00:25:15 +00:00
CanbiZ (MickLesk) a2fe78c463 Revise application request template requirements
Updated the discussion template for application requests by refining requirements and descriptions.
2026-06-11 16:43:01 +02:00
CanbiZ (MickLesk) 52cf5167c9 Refactor request script template for clarity 2026-06-11 16:41:23 +02:00
CanbiZ (MickLesk) 39af3f3966 Revise request script template for Proxmox VE
Updated the request script template for Proxmox VE Helper-Scripts to improve clarity and structure, including changes to input fields and validation requirements.
2026-06-11 16:40:35 +02:00
CanbiZ (MickLesk) 79d2b09f56 Refactor discussion template for script requests 2026-06-11 16:39:20 +02:00
CanbiZ (MickLesk) cc5b052660 Update discussion template for script requests 2026-06-11 16:38:51 +02:00
CanbiZ (MickLesk) 914451ba66 Refactor script request template fields
Updated field IDs and descriptions for clarity in the script request template.
2026-06-11 16:38:28 +02:00
CanbiZ (MickLesk) 425e6bfd69 Revise script request template (#15058)
Updated the script request template for Proxmox VE Helper-Scripts to include additional fields and clarifications.
2026-06-11 16:37:05 +02:00
community-scripts-pr-app[bot] 96c2032b60 Archive old changelog entries (#14980)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-06-07 00:23:51 +00:00
Michel Roegl-Brunner 28411ecb5f New workflow to delete stale branches 2026-06-03 11:13:00 +02:00
Michel Roegl-Brunner 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-Brunner 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-Brunner 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-Brunner 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-Brunner 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 5668ad9a8d fix(workflow): only flag node drift when local is behind upstream (#14874)
Update the node version drift check to count drift only when our script version is lower than upstream, so newer local versions no longer create false-positive drift issues.

Co-authored-by: Michel Roegl-Brunner <michel.roegl-brunner@example.com>
2026-06-02 10:25:05 +02:00
community-scripts-pr-app[bot] 4e51373669 Archive old changelog entries (#14822)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-31 00:22:31 +00:00
community-scripts-pr-app[bot] 5bf9cfb800 Archive old changelog entries (#14681)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-24 00:20:15 +00:00
Sam Heinz 69aa93a83a workflows: update workflows, templates to support arm64. (#14653)
* set 'var_arm64' to no in all ct scripts

* update files in .github to support arm64
2026-05-23 07:46:44 +10:00
community-scripts-pr-app[bot] 16cc639e1e Archive old changelog entries (#14537)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-17 00:18:35 +00:00
community-scripts-pr-app[bot] 28311987ae Archive old changelog entries (#14374)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-10 00:17:15 +00:00
community-scripts-pr-app[bot] 01d6df5903 Archive old changelog entries (#14208)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-03 00:15:35 +00:00
CanbiZ (MickLesk) c5cbb46743 Enhance issue matching and redirect handling in close_issue_in_dev workflow 2026-04-29 14:04:04 +02:00
Michel Roegl-Brunner 513e58b5d1 enhance pocketbase bot 2026-04-28 10:10:05 +02:00
community-scripts-pr-app[bot] 1c49bab0bc Archive old changelog entries (#14025)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-26 00:12:14 +00:00
CanbiZ (MickLesk) ec3b79bb61 PocketBase Bot: fix field names notes_json -> notes, install_methods_json -> install_methods
Collection fields were renamed but bot still used old _json suffixed names.
2026-04-20 09:02:27 +02:00