mirror of
https://github.com/community-scripts/ProxmoxVED.git
synced 2026-03-31 06:24:18 -04:00
refactor: move json/ to top-level, remove frontend/, update workflows
- Move frontend/public/json/ to json/ (top-level) - Update all workflow path references to json/ - Delete frontend-cicd.yml workflow - Delete frontend/ directory entirely - Clean up .gitattributes (remove frontend entries)
This commit is contained in:
2
.github/autolabeler-config.json
generated
vendored
2
.github/autolabeler-config.json
generated
vendored
@@ -97,7 +97,7 @@
|
||||
{
|
||||
"fileStatus": "modified",
|
||||
"includeGlobs": [
|
||||
"frontend/public/json/**"
|
||||
"json/**"
|
||||
],
|
||||
"excludeGlobs": []
|
||||
}
|
||||
|
||||
2
.github/workflows/bak/get-versions-from-gh.yaml
generated
vendored
2
.github/workflows/bak/get-versions-from-gh.yaml
generated
vendored
@@ -47,7 +47,7 @@ jobs:
|
||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git config --global user.name "GitHub Actions[bot]"
|
||||
git checkout -b update_versions || git checkout update_versions
|
||||
git add frontend/public/json/versions.json
|
||||
git add json/versions.json
|
||||
if git diff --cached --quiet; then
|
||||
echo "No changes detected."
|
||||
echo "changed=false" >> "$GITHUB_ENV"
|
||||
|
||||
4
.github/workflows/bak/get-versions-from-newreleases.yaml
generated
vendored
4
.github/workflows/bak/get-versions-from-newreleases.yaml
generated
vendored
@@ -46,7 +46,7 @@ jobs:
|
||||
run: |
|
||||
page=1
|
||||
projects_file="project_json"
|
||||
output_file="frontend/public/json/versions.json"
|
||||
output_file="json/versions.json"
|
||||
|
||||
echo "[]" > $output_file
|
||||
|
||||
@@ -95,7 +95,7 @@ jobs:
|
||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git config --global user.name "GitHub Actions[bot]"
|
||||
git checkout -b update_versions || git checkout update_versions
|
||||
git add frontend/public/json/versions.json
|
||||
git add json/versions.json
|
||||
if git diff --cached --quiet; then
|
||||
echo "No changes detected."
|
||||
echo "changed=false" >> "$GITHUB_ENV"
|
||||
|
||||
4
.github/workflows/bak/update-versions-github.yml
generated
vendored
4
.github/workflows/bak/update-versions-github.yml
generated
vendored
@@ -11,8 +11,8 @@ permissions:
|
||||
pull-requests: write
|
||||
|
||||
env:
|
||||
SOURCES_FILE: frontend/public/json/version-sources.json
|
||||
VERSIONS_FILE: frontend/public/json/versions.json
|
||||
SOURCES_FILE: json/version-sources.json
|
||||
VERSIONS_FILE: json/versions.json
|
||||
|
||||
jobs:
|
||||
update-versions:
|
||||
|
||||
8
.github/workflows/create-ready-for-testing-message.yml
generated
vendored
8
.github/workflows/create-ready-for-testing-message.yml
generated
vendored
@@ -59,19 +59,19 @@ jobs:
|
||||
FILES=(
|
||||
"ct/${TITLE}.sh"
|
||||
"install/${TITLE}-install.sh"
|
||||
"frontend/public/json/${TITLE}.json"
|
||||
"json/${TITLE}.json"
|
||||
)
|
||||
;;
|
||||
vm)
|
||||
FILES=(
|
||||
"vm/${TITLE}.sh"
|
||||
"frontend/public/json/${TITLE}.json"
|
||||
"json/${TITLE}.json"
|
||||
)
|
||||
;;
|
||||
addon)
|
||||
FILES=(
|
||||
"tools/addon/${TITLE}.sh"
|
||||
"frontend/public/json/${TITLE}.json"
|
||||
"json/${TITLE}.json"
|
||||
)
|
||||
;;
|
||||
pve)
|
||||
@@ -122,7 +122,7 @@ jobs:
|
||||
JSON_FILE=""
|
||||
case "$SCRIPT_TYPE" in
|
||||
ct|vm|addon)
|
||||
JSON_FILE="frontend/public/json/${TITLE}.json"
|
||||
JSON_FILE="json/${TITLE}.json"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
8
.github/workflows/delete_new_script.yaml
generated
vendored
8
.github/workflows/delete_new_script.yaml
generated
vendored
@@ -124,20 +124,20 @@ jobs:
|
||||
rm -f "ct/${TITLE}.sh"
|
||||
rm -f "ct/headers/${TITLE}"
|
||||
rm -f "install/${TITLE}-install.sh"
|
||||
rm -f "frontend/public/json/${TITLE}.json"
|
||||
rm -f "json/${TITLE}.json"
|
||||
# Also try alpine variant
|
||||
if [[ "$TITLE" == alpine-* ]]; then
|
||||
stripped="${TITLE#alpine-}"
|
||||
rm -f "frontend/public/json/${stripped}.json"
|
||||
rm -f "json/${stripped}.json"
|
||||
fi
|
||||
;;
|
||||
vm)
|
||||
rm -f "vm/${TITLE}.sh"
|
||||
rm -f "frontend/public/json/${TITLE}.json"
|
||||
rm -f "json/${TITLE}.json"
|
||||
;;
|
||||
addon)
|
||||
rm -f "tools/addon/${TITLE}.sh"
|
||||
rm -f "frontend/public/json/${TITLE}.json"
|
||||
rm -f "json/${TITLE}.json"
|
||||
;;
|
||||
pve)
|
||||
rm -f "tools/pve/${TITLE}.sh"
|
||||
|
||||
77
.github/workflows/frontend-cicd.yml
generated
vendored
77
.github/workflows/frontend-cicd.yml
generated
vendored
@@ -1,77 +0,0 @@
|
||||
# Based on https://github.com/actions/starter-workflows/blob/main/pages/nextjs.yml
|
||||
|
||||
name: Frontend CI/CD
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: ["main"]
|
||||
paths:
|
||||
- frontend/**
|
||||
|
||||
pull_request:
|
||||
branches: ["main"]
|
||||
types: [opened, synchronize, reopened, edited]
|
||||
paths:
|
||||
- frontend/**
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
concurrency:
|
||||
group: pages-${{ github.ref }}
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
build:
|
||||
if: github.repository == 'community-scripts/ProxmoxVED'
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: frontend # Set default working directory for all run steps
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "20"
|
||||
cache: npm
|
||||
cache-dependency-path: frontend/package-lock.json
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci --prefer-offline --legacy-peer-deps
|
||||
|
||||
- name: Run tests
|
||||
run: npm run test
|
||||
|
||||
- name: Configure Next.js for pages
|
||||
uses: actions/configure-pages@v5
|
||||
with:
|
||||
static_site_generator: next
|
||||
|
||||
- name: Build with Next.js
|
||||
run: npm run build
|
||||
|
||||
- name: Upload artifact
|
||||
if: github.ref == 'refs/heads/main'
|
||||
uses: actions/upload-pages-artifact@v3
|
||||
with:
|
||||
path: frontend/out
|
||||
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
needs: build
|
||||
if: github.ref == 'refs/heads/main' && github.repository == 'community-scripts/ProxmoxVED'
|
||||
permissions:
|
||||
pages: write
|
||||
id-token: write
|
||||
environment:
|
||||
name: github-pages
|
||||
url: ${{ steps.deployment.outputs.page_url }}
|
||||
steps:
|
||||
- name: Deploy to GitHub Pages
|
||||
id: deployment
|
||||
uses: actions/deploy-pages@v4
|
||||
14
.github/workflows/move-to-main-repo.yaml
generated
vendored
14
.github/workflows/move-to-main-repo.yaml
generated
vendored
@@ -101,11 +101,11 @@ jobs:
|
||||
missing_files+="install/${script_name}-install.sh "
|
||||
fi
|
||||
# JSON check with alpine fallback
|
||||
json_file="frontend/public/json/${script_name}.json"
|
||||
json_file="json/${script_name}.json"
|
||||
if [[ ! -f "$json_file" ]]; then
|
||||
if [[ "$script_name" == alpine-* ]]; then
|
||||
stripped_name="${script_name#alpine-}"
|
||||
alt_json="frontend/public/json/${stripped_name}.json"
|
||||
alt_json="json/${stripped_name}.json"
|
||||
if [[ -f "$alt_json" ]]; then
|
||||
echo "Using alpine fallback JSON: $alt_json"
|
||||
echo "json_fallback=$alt_json" >> $GITHUB_OUTPUT
|
||||
@@ -128,7 +128,7 @@ jobs:
|
||||
missing_files+="vm/${script_name}.sh "
|
||||
fi
|
||||
# JSON is optional for VMs but check anyway
|
||||
json_file="frontend/public/json/${script_name}.json"
|
||||
json_file="json/${script_name}.json"
|
||||
if [[ ! -f "$json_file" ]]; then
|
||||
echo "json file not found (optional): $json_file"
|
||||
fi
|
||||
@@ -140,7 +140,7 @@ jobs:
|
||||
missing_files+="tools/addon/${script_name}.sh "
|
||||
fi
|
||||
# JSON is optional for addons
|
||||
json_file="frontend/public/json/${script_name}.json"
|
||||
json_file="json/${script_name}.json"
|
||||
if [[ ! -f "$json_file" ]]; then
|
||||
echo "json file not found (optional): $json_file"
|
||||
fi
|
||||
@@ -231,7 +231,7 @@ jobs:
|
||||
if [[ -n "$json_fallback" ]]; then
|
||||
cp ../${json_fallback} frontend/public/json/ || true
|
||||
else
|
||||
cp ../frontend/public/json/${script_name}.json frontend/public/json/ 2>/dev/null || true
|
||||
cp ../json/${script_name}.json frontend/public/json/ 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# Update URLs in ct script
|
||||
@@ -242,7 +242,7 @@ jobs:
|
||||
;;
|
||||
vm)
|
||||
cp ../vm/${script_name}.sh vm/
|
||||
cp ../frontend/public/json/${script_name}.json frontend/public/json/ 2>/dev/null || true
|
||||
cp ../json/${script_name}.json frontend/public/json/ 2>/dev/null || true
|
||||
|
||||
# Update URLs in vm script
|
||||
sed -i "s|https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func|https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func|" vm/${script_name}.sh
|
||||
@@ -251,7 +251,7 @@ jobs:
|
||||
addon)
|
||||
mkdir -p tools/addon
|
||||
cp ../tools/addon/${script_name}.sh tools/addon/
|
||||
cp ../frontend/public/json/${script_name}.json frontend/public/json/ 2>/dev/null || true
|
||||
cp ../json/${script_name}.json frontend/public/json/ 2>/dev/null || true
|
||||
|
||||
# Update URLs in addon script
|
||||
sed -i "s|community-scripts/ProxmoxVED|community-scripts/ProxmoxVE|g" tools/addon/${script_name}.sh
|
||||
|
||||
6
.github/workflows/push_json_to_pocketbase.yml
generated
vendored
6
.github/workflows/push_json_to_pocketbase.yml
generated
vendored
@@ -5,7 +5,7 @@ on:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- "frontend/public/json/**"
|
||||
- "json/**"
|
||||
|
||||
jobs:
|
||||
push-json:
|
||||
@@ -19,7 +19,7 @@ jobs:
|
||||
- name: Get changed JSON files with slug
|
||||
id: changed
|
||||
run: |
|
||||
changed=$(git diff --name-only "${{ github.event.before }}" "${{ github.event.after }}" -- frontend/public/json/ | grep '\.json$' || true)
|
||||
changed=$(git diff --name-only "${{ github.event.before }}" "${{ github.event.after }}" -- json/ | grep '\.json$' || true)
|
||||
with_slug=""
|
||||
for f in $changed; do
|
||||
[[ -f "$f" ]] || continue
|
||||
@@ -96,7 +96,7 @@ jobs:
|
||||
const recordsUrl = apiBase + '/collections/' + encodeURIComponent(coll) + '/records';
|
||||
let categoryIdToName = {};
|
||||
try {
|
||||
const metadata = JSON.parse(fs.readFileSync('frontend/public/json/metadata.json', 'utf8'));
|
||||
const metadata = JSON.parse(fs.readFileSync('json/metadata.json', 'utf8'));
|
||||
(metadata.categories || []).forEach(function(cat) { categoryIdToName[cat.id] = cat.name; });
|
||||
} catch (e) { console.warn('Could not load metadata.json:', e.message); }
|
||||
let typeValueToId = {};
|
||||
|
||||
2
.github/workflows/scripts/get-gh-release.sh
generated
vendored
2
.github/workflows/scripts/get-gh-release.sh
generated
vendored
@@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
INPUT_FILE=".github/workflows/scripts/repos.txt"
|
||||
OUTPUT_FILE="frontend/public/json/versions.json"
|
||||
OUTPUT_FILE="json/versions.json"
|
||||
TMP_FILE="releases_tmp.json"
|
||||
|
||||
if [ -f "$OUTPUT_FILE" ]; then
|
||||
|
||||
6
.github/workflows/update-github-versions.yml
generated
vendored
6
.github/workflows/update-github-versions.yml
generated
vendored
@@ -11,7 +11,7 @@ permissions:
|
||||
pull-requests: write
|
||||
|
||||
env:
|
||||
VERSIONS_FILE: frontend/public/json/github-versions.json
|
||||
VERSIONS_FILE: json/github-versions.json
|
||||
|
||||
jobs:
|
||||
update-github-versions:
|
||||
@@ -58,7 +58,7 @@ jobs:
|
||||
echo ""
|
||||
echo "=== Scanning JSON files for slugs ==="
|
||||
|
||||
for json_file in frontend/public/json/*.json; do
|
||||
for json_file in json/*.json; do
|
||||
[[ ! -f "$json_file" ]] && continue
|
||||
|
||||
# Skip non-app JSON files
|
||||
@@ -200,7 +200,7 @@ jobs:
|
||||
--body "This PR updates version information from GitHub releases.
|
||||
|
||||
## How it works
|
||||
1. Scans all JSON files in \`frontend/public/json/\` for slugs
|
||||
1. Scans all JSON files in \`json/\` for slugs
|
||||
2. Finds corresponding \`install/{slug}-install.sh\` scripts
|
||||
3. Extracts \`fetch_and_deploy_gh_release\` calls
|
||||
4. Fetches latest (or pinned) version from GitHub
|
||||
|
||||
Reference in New Issue
Block a user