update files in .github to support arm64

This commit is contained in:
Sam Heinz
2026-05-22 23:50:19 +10:00
parent 8e477b1fca
commit 4eecc6ad70
8 changed files with 42 additions and 1 deletions

View File

@@ -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:

View File

@@ -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
View File

@@ -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.

View File

@@ -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
View File

@@ -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) {

View File

@@ -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"

View File

@@ -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"
```

View File

@@ -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