update files in .github to support arm64
This commit is contained in:
11
.github/ISSUE_TEMPLATE/new-script.yaml
generated
vendored
11
.github/ISSUE_TEMPLATE/new-script.yaml
generated
vendored
@@ -27,6 +27,17 @@ body:
|
||||
- PVE Tool (tools/pve)
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: arm64_support
|
||||
attributes:
|
||||
label: Does this script support arm64?
|
||||
description: amd64 support is assumed.
|
||||
options:
|
||||
- arm64 supported
|
||||
- arm64 not tested
|
||||
- arm64 not supported
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: task_details
|
||||
attributes:
|
||||
|
||||
5
.github/agents/pve-script-creator.agent.md
generated
vendored
5
.github/agents/pve-script-creator.agent.md
generated
vendored
@@ -36,9 +36,10 @@ You are a specialist for creating and maintaining ProxmoxVED application scripts
|
||||
- All `apt` / `npm` / build commands must be prefixed with `$STD`.
|
||||
|
||||
### JSON Metadata
|
||||
- Must include: `name`, `slug`, `categories`, `date_created`, `type`, `updateable`, `privileged`, `interface_port`, `documentation`, `website`, `logo`, `config_path`, `description`, `install_methods`, `default_credentials`, `notes`.
|
||||
- Must include: `name`, `slug`, `categories`, `date_created`, `type`, `updateable`, `privileged`, `has_arm`, `interface_port`, `documentation`, `website`, `logo`, `config_path`, `description`, `install_methods`, `default_credentials`, `notes`.
|
||||
- `date_created` uses today's date (YYYY-MM-DD).
|
||||
- Resources in `install_methods` must match `var_*` values in the CT script.
|
||||
- CT scripts must include `var_arm64="${var_arm64:-no}"` unless arm64 support has been verified.
|
||||
- Logo URL pattern: `https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/<slug>.webp`
|
||||
|
||||
## Checklist (verify before finishing)
|
||||
@@ -57,6 +58,8 @@ You are a specialist for creating and maintaining ProxmoxVED application scripts
|
||||
- [ ] `update_script()` present with backup/restore
|
||||
- [ ] Footer: `motd_ssh`, `customize`, `cleanup_lxc`
|
||||
- [ ] JSON metadata file matches CT script resources
|
||||
- [ ] JSON `has_arm` accurately reflects arm64 support
|
||||
- [ ] CT `var_arm64` accurately reflects arm64 support
|
||||
- [ ] Backups go to `/opt`, not `/tmp`
|
||||
|
||||
## Output Format
|
||||
|
||||
8
.github/pull_request_template.md
generated
vendored
8
.github/pull_request_template.md
generated
vendored
@@ -16,6 +16,14 @@ Link: #
|
||||
|
||||
---
|
||||
|
||||
## arm64 Support (**X** in brackets)
|
||||
|
||||
- [ ] **arm64 supported** - Tested and supported on arm64.
|
||||
- [ ] **arm64 not tested** - Assumed to work on arm64, but testing has not been done.
|
||||
- [ ] **arm64 not supported** - Confirmed upstream dependencies or binaries do not support arm64.
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Type of Change (**X** in brackets)
|
||||
|
||||
- [ ] 🐞 **Bug fix** – Resolves an issue without breaking functionality.
|
||||
|
||||
1
.github/workflows/push_json_to_pocketbase.yml
generated
vendored
1
.github/workflows/push_json_to_pocketbase.yml
generated
vendored
@@ -230,6 +230,7 @@ jobs:
|
||||
if (resolvedType) payload.type = resolvedType;
|
||||
var resolvedCats = (data.categories || []).map(function(n) { return categoryNameToPbId[categoryIdToName[n]]; }).filter(Boolean);
|
||||
if (resolvedCats.length) payload.categories = resolvedCats;
|
||||
if (data.has_arm !== undefined) payload.has_arm = data.has_arm === true || data.has_arm === 'true';
|
||||
if (data.version !== undefined) payload.version = data.version;
|
||||
if (data.changelog !== undefined) payload.changelog = data.changelog;
|
||||
if (data.screenshots !== undefined) payload.screenshots = data.screenshots;
|
||||
|
||||
13
.github/workflows/unmet-pr-close.yml
generated
vendored
13
.github/workflows/unmet-pr-close.yml
generated
vendored
@@ -91,6 +91,19 @@ jobs:
|
||||
}
|
||||
}
|
||||
|
||||
const architectureOptions = [
|
||||
"**arm64 supported**",
|
||||
"**arm64 not tested**",
|
||||
"**arm64 not supported**"
|
||||
];
|
||||
const hasArchitectureSelection = architectureOptions.some(req => {
|
||||
const line = findLine(req);
|
||||
return line && checkboxChecked(line);
|
||||
});
|
||||
if (!hasArchitectureSelection) {
|
||||
missing.push("One arm64 support option (`arm64 supported`, `arm64 not tested`, or `arm64 not supported`) must be checked");
|
||||
}
|
||||
|
||||
if (missing.length > 0) {
|
||||
let list = "";
|
||||
for (const m of missing) {
|
||||
|
||||
@@ -274,6 +274,7 @@ var_ram="2048" # Min RAM needed (MB)
|
||||
var_disk="10" # Min disk (GB)
|
||||
var_os="debian" # OS type
|
||||
var_version="12" # OS version
|
||||
var_arm64="${var_arm64:-no}" # arm64 support (no unless verified)
|
||||
var_unprivileged="1" # Security (1=unprivileged)
|
||||
|
||||
header_info "$APP"
|
||||
|
||||
@@ -101,6 +101,7 @@ Example:
|
||||
>| `var_disk` | Disk capacity | In GB |
|
||||
>| `var_os` | Operating system | alpine, debian, ubuntu |
|
||||
>| `var_version` | OS version | e.g., 3.20, 11, 12, 20.04 |
|
||||
>| `var_arm64` | arm64 support | `no` unless arm64 support is verified |
|
||||
>| `var_unprivileged` | Container type | 1 = Unprivileged, 0 = Privileged |
|
||||
|
||||
Example:
|
||||
@@ -113,6 +114,7 @@ var_ram="2048"
|
||||
var_disk="4"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
var_arm64="${var_arm64:-no}"
|
||||
var_unprivileged="1"
|
||||
```
|
||||
|
||||
|
||||
@@ -20,6 +20,8 @@ var_os="[OS]"
|
||||
# Default OS (e.g. debian, ubuntu, alpine)
|
||||
var_version="[VERSION]"
|
||||
# Default OS version (e.g. 12 for debian, 24.04 for ubuntu, 3.20 for alpine)
|
||||
var_arm64="${var_arm64:-no}"
|
||||
# arm64 support status; default to no unless verified
|
||||
var_unprivileged="[UNPRIVILEGED]"
|
||||
# 1 = unprivileged container, 0 = privileged container
|
||||
|
||||
|
||||
Reference in New Issue
Block a user