6 Commits

Author SHA1 Message Date
MrUnknownDE 2cf94acaa5 manuell version 2026-04-06 18:46:25 +02:00
github-actions[bot] f1a9e81de9 Auto-update VCC index.json for v1.0.4 2026-04-06 16:40:20 +00:00
MrUnknownDE 54d62ae8fa weee 2026-04-06 18:32:57 +02:00
MrUnknownDE 2cb115aa8a add some version 2026-04-06 18:30:18 +02:00
github-actions[bot] e070c2c4b4 Auto-update VCC index.json for v1.0.3 2026-04-06 16:19:43 +00:00
github-actions[bot] 6481ee1a19 Add version v1.0.2 to VCC index 2026-04-06 16:12:02 +00:00
2 changed files with 52 additions and 33 deletions
+22 -27
View File
@@ -3,13 +3,13 @@ name: VCC Release Automation
on: on:
push: push:
tags: tags:
- "v*" # Startet z.B. bei v1.0.3 - "v*" # Startet bei v1.0.2, v1.1.0 etc.
jobs: jobs:
release: release:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
contents: write # Garantiert Rechte für Releases und Code-Pushes contents: write
steps: steps:
- name: Checkout Code - name: Checkout Code
uses: actions/checkout@v4 uses: actions/checkout@v4
@@ -19,43 +19,45 @@ jobs:
- name: Extract Metadata - name: Extract Metadata
id: metadata id: metadata
run: | run: |
echo "version=$(jq -r .version package.json)" >> $GITHUB_OUTPUT VERSION=$(jq -r .version package.json)
echo "pkg_name=$(jq -r .name package.json)" >> $GITHUB_OUTPUT PKG_NAME=$(jq -r .name package.json)
echo "display_name=$(jq -r .displayName package.json)" >> $GITHUB_OUTPUT DISPLAY_NAME=$(jq -r .displayName package.json)
echo "description=$(jq -r .description package.json)" >> $GITHUB_OUTPUT DESCRIPTION=$(jq -r .description package.json)
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "pkg_name=$PKG_NAME" >> $GITHUB_OUTPUT
echo "display_name=$DISPLAY_NAME" >> $GITHUB_OUTPUT
echo "description=$DESCRIPTION" >> $GITHUB_OUTPUT
- name: Create VCC Package Zip - name: Create VCC Package Zip
run: | run: |
# Wir packen nur die relevanten Dateien ohne den Repo-Hauptordner
zip -r ${{ steps.metadata.outputs.pkg_name }}-${{ github.ref_name }}.zip package.json README.md Editor/ Editor.meta package.json.meta README.md.meta zip -r ${{ steps.metadata.outputs.pkg_name }}-${{ github.ref_name }}.zip package.json README.md Editor/ Editor.meta package.json.meta README.md.meta
- name: Upload GitHub Release Asset - name: Upload GitHub Release Asset
uses: softprops/action-gh-release@v2 uses: softprops/action-gh-release@v2
with: with:
files: ${{ steps.metadata.outputs.pkg_name }}-${{ github.ref_name }}.zip files: ${{ steps.metadata.outputs.pkg_name }}-${{ github.ref_name }}.zip
generate_release_notes: true
draft: false
prerelease: false
- name: Update VCC Index - name: Update VCC Index
run: | run: |
# Wechsel zum gh-pages Branch (oder erstelle ihn, falls er fehlt)
git config --global user.name "github-actions[bot]" git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com" git config --global user.email "github-actions[bot]@users.noreply.github.com"
# Prüfen, ob der gh-pages Branch auf dem Server existiert git fetch origin gh-pages || git checkout --orphan gh-pages
if git ls-remote --heads origin gh-pages | grep -q gh-pages; then git checkout gh-pages || git checkout -b gh-pages
git checkout gh-pages
else
# Wenn nicht: Erstelle ihn als komplett leeren (orphan) Branch
git checkout --orphan gh-pages
git rm -rf . # Löscht alle Main-Dateien aus diesem Branch
fi
# Basis-Struktur der index.json erstellen, falls sie noch nicht existiert # Falls die index.json noch nicht existiert, Basis-Struktur anlegen
if [ ! -f index.json ]; then if [ ! -f index.json ]; then
echo '{"name":"mrunknownde VCC Tools","id":"de.mrunknownde.vccrepo","url":"https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}/index.json","author":"mrunknownde","packages":{}}' > index.json echo '{"name":"mrunknownde VCC Repo","id":"de.mrunknownde.vccrepo","url":"https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}/index.json","author":"mrunknownde","packages":{}}' > index.json
fi fi
# URL zur gerade hochgeladenen ZIP-Datei im Release generieren # Neue Version in die index.json injizieren
ZIP_URL="https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/${{ steps.metadata.outputs.pkg_name }}-${{ github.ref_name }}.zip" ZIP_URL="https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/${{ steps.metadata.outputs.pkg_name }}-${{ github.ref_name }}.zip"
# Neue Version per jq sauber in die index.json injizieren
jq --arg ver "${{ steps.metadata.outputs.version }}" \ jq --arg ver "${{ steps.metadata.outputs.version }}" \
--arg name "${{ steps.metadata.outputs.pkg_name }}" \ --arg name "${{ steps.metadata.outputs.pkg_name }}" \
--arg disp "${{ steps.metadata.outputs.display_name }}" \ --arg disp "${{ steps.metadata.outputs.display_name }}" \
@@ -70,13 +72,6 @@ jobs:
"url": $url "url": $url
}' index.json > temp.json && mv temp.json index.json }' index.json > temp.json && mv temp.json index.json
# Änderungen stagen
git add index.json git add index.json
git commit -m "Add version ${{ github.ref_name }} to VCC index"
# Nur committen und pushen, wenn sich die JSON wirklich verändert hat (verhindert Action-Crash) git push origin gh-pages
if ! git diff --cached --quiet; then
git commit -m "Auto-update VCC index.json for ${{ github.ref_name }}"
git push origin gh-pages
else
echo "Keine Änderungen an der index.json festgestellt. Überspringe Push."
fi
+29 -5
View File
@@ -2,14 +2,38 @@
"name": "MrUnknownDE's VCC Tools", "name": "MrUnknownDE's VCC Tools",
"id": "de.mrunknownde.vcc-tools", "id": "de.mrunknownde.vcc-tools",
"url": "https://vcc.mrunk.de/index.json", "url": "https://vcc.mrunk.de/index.json",
"author": "mrunknownde", "author": "MrUnknownDE",
"packages": { "packages": {
"de.mrunknownde.vcc-tools": { "de.mrunknownde.vcc-tools": {
"versions": { "versions": {
"1.0.4": {
"name": "de.mrunknownde.vcc-tools",
"version": "1.0.4",
"displayName": "MrUnknownDE's VRChat Tools",
"url": "https://github.com/MrUnknownDE/vcc-tools/archive/refs/tags/v1.0.4.zip",
"unity": "2022.3",
"description": "A lightweight, integrated Git panel for Unity."
},
"1.0.3": {
"name": "de.mrunknownde.vcc-tools",
"version": "1.0.3",
"displayName": "MrUnknownDE's VRChat Tools",
"url": "https://github.com/MrUnknownDE/vcc-tools/archive/refs/tags/v1.0.3.zip",
"unity": "2022.3",
"description": "A lightweight, integrated Git panel for Unity."
},
"1.0.2": {
"name": "de.mrunknownde.vcc-tools",
"version": "1.0.2",
"displayName": "MrUnknownDE's VRChat Tools",
"url": "https://github.com/MrUnknownDE/vcc-tools/archive/refs/tags/v1.0.2.zip",
"unity": "2022.3",
"description": "A lightweight, integrated Git panel for Unity."
},
"1.0.1": { "1.0.1": {
"name": "de.mrunknownde.vcc-tools", "name": "de.mrunknownde.vcc-tools",
"version": "1.0.1", "version": "1.0.1",
"displayName": "VRChat Tools", "displayName": "MrUnknownDE'sVRChat Tools",
"url": "https://github.com/MrUnknownDE/vcc-tools/archive/refs/tags/v1.0.1.zip", "url": "https://github.com/MrUnknownDE/vcc-tools/archive/refs/tags/v1.0.1.zip",
"unity": "2022.3", "unity": "2022.3",
"description": "A lightweight, integrated Git panel for Unity." "description": "A lightweight, integrated Git panel for Unity."
@@ -17,10 +41,10 @@
"1.0.0": { "1.0.0": {
"name": "de.mrunknownde.vcc-tools", "name": "de.mrunknownde.vcc-tools",
"version": "1.0.0", "version": "1.0.0",
"displayName": "VRChat Tools", "displayName": "MrUnknownDE's VRChat Tools",
"url": "https://github.com/MrUnknownDE/vcc-tools/archive/refs/tags/v1.0.0.zip", "description": "A lightweight, integrated Git panel for Unity.",
"unity": "2022.3", "unity": "2022.3",
"description": "A lightweight, integrated Git panel for Unity." "url": "https://github.com/MrUnknownDE/vcc-tools/releases/download/v1.0.4/de.mrunknownde.vcc-tools-v1.0.4.zip"
} }
} }
} }