From 2cb504ba51db70dc68456ca0ee06b700d66a265a Mon Sep 17 00:00:00 2001 From: Michael Otto Date: Tue, 3 Mar 2026 10:18:46 +0100 Subject: [PATCH] Release v38 --- .gitea/workflows/release.yml | 223 +---------------------------------- 1 file changed, 5 insertions(+), 218 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 3e06ae2..b6d735c 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -1,4 +1,3 @@ -# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json name: Release Plugin on: @@ -220,227 +219,15 @@ jobs: - name: Repository aktualisieren run: | OWNER="AG_QGIS" - WORKFLOW="update.yml" - - # payload.json in Base64 umwandeln PAYLOAD_B64=$(base64 -w0 repo/payload.json) - # JSON für Gitea bauen - JSON="{\"ref\":\"feature/release\",\"inputs\":{\"payload\":\"$PAYLOAD_B64\"}}" - - echo "Sende JSON:" - echo "$JSON" + JSON=$(jq -n --arg p "$PAYLOAD_B64" '{ + event_type: "update_plugin", + client_payload: { payload: $p } + }') curl -X POST \ -H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" \ -H "Content-Type: application/json" \ -d "$JSON" \ - "https://${{ vars.RELEASE_URL }}/api/v1/repos/${OWNER}/Repository/actions/workflows/${WORKFLOW}/dispatches" - - - - - - # - name: Repository aktualisieren - # run: | - # OWNER="AG_QGIS" # z. B. dein Benutzername oder deine Organisation - # WORKFLOW="update.yml" # Name der Workflow-Datei im Repository-Repo - - # curl -X POST \ - # -H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" \ - # -H "Content-Type: application/json" \ - # -d "{\"ref\": \"feature/release\", \"inputs\": {}, \"event_type\": \"update_plugin\", \"client_payload\": $(cat repo/payload.json) }" \ - # "https://${{ vars.RELEASE_URL }}/api/v1/repos/${OWNER}/Repository/actions/workflows/${WORKFLOW}/dispatches" - - # curl -X POST \ - # -H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" \ - # -H "Content-Type: application/json" \ - # -d @repo/payload.json \ - # "https://${{ vars.RELEASE_URL }}/api/v1/repos/${OWNER}/Repository/actions/workflows/${WORKFLOW}/dispatches" - - - - - name: Debug Info - run: | - echo "Tag: $GITEA_REF_NAME" - uname -a - - # - name: Read plugin.cfg - # id: cfg - # run: | - # CFG=".plugin/plugin.cfg" - - # get_value() { - # grep -i "^$1" "$CFG" | head -1 | cut -d= -f2- | tr -d '\r' | xargs - # } - - # echo "zip_folder=$(get_value zip_folder)" >> $GITHUB_OUTPUT - # echo "name=$(get_value name)" >> $GITHUB_OUTPUT - # echo "qgis_min=$(get_value qgisMinimumVersion)" >> $GITHUB_OUTPUT - # echo "qgis_max=$(get_value qgisMaximumVersion)" >> $GITHUB_OUTPUT - # echo "description=$(get_value description)" >> $GITHUB_OUTPUT - # echo "author=$(get_value author)" >> $GITHUB_OUTPUT - # echo "email=$(get_value email)" >> $GITHUB_OUTPUT - # echo "homepage=$(get_value homepage)" >> $GITHUB_OUTPUT - # echo "tracker=$(get_value tracker)" >> $GITHUB_OUTPUT - # echo "repository=$(get_value repository)" >> $GITHUB_OUTPUT - # echo "experimental=$(get_value experimental)" >> $GITHUB_OUTPUT - # echo "deprecated=$(get_value deprecated)" >> $GITHUB_OUTPUT - - # # Nur fürs Log: - # echo "zip_folder=$(get_value zip_folder)" - # echo "name=$(get_value name)" - # echo "qgis_min=$(get_value qgisMinimumVersion)" - # echo "qgis_max=$(get_value qgisMaximumVersion)" - # echo "description=$(get_value description)" - # echo "author=$(get_value author)" - # echo "email=$(get_value email)" - # echo "homepage=$(get_value homepage)" - # echo "tracker=$(get_value tracker)" - # echo "repository=$(get_value repository)" - # echo "experimental=$(get_value experimental)" - # echo "deprecated=$(get_value deprecated)" - - # - name: Generate metadata.txt - # run: | - # VERSION="${{ steps.info.outputs.version }}" - # CHANGELOG=$(cat .plugin/changelog.txt) - - # cat > metadata.txt << EOF - # [general] - # name=${{ steps.cfg.outputs.name }} - # version=${VERSION} - # qgisMinimumVersion=${{ steps.cfg.outputs.qgis_min }} - # qgisMaximumVersion=${{ steps.cfg.outputs.qgis_max }} - # description=${{ steps.cfg.outputs.description }} - # author=${{ steps.cfg.outputs.author }} - # email=${{ steps.cfg.outputs.email }} - # homepage=${{ steps.cfg.outputs.homepage }} - # tracker=${{ steps.cfg.outputs.tracker }} - # repository=${{ steps.cfg.outputs.repository }} - # experimental=${{ steps.cfg.outputs.experimental }} - # deprecated=${{ steps.cfg.outputs.deprecated }} - # changelog=${VERSION} - # $(cat .plugin/changelog.txt) - # EOF - - # # Nur fürs Log: - # cat metadata.txt - - # - name: Build plugin ZIP - # run: | - # REPO_NAME="${{ github.event.repository.name }}" - # ZIP_FOLDER="${{ steps.cfg.outputs.zip_folder }}" - # VERSION="${{ steps.info.outputs.version }}" - # ZIP_NAME="${REPO_NAME}-${VERSION}.zip" - - # # Temporären Ordner mit zip_folder-Namen anlegen - # mkdir -p dist/${ZIP_FOLDER} - - # # Alle Plugin-Dateien hineinkopieren (ohne .gitea, .plugin, dist) - # rsync -a \ - # --exclude='.gitea' \ - # --exclude='.plugin' \ - # --exclude='.git' \ - # --exclude='dist' \ - # ./ dist/${ZIP_FOLDER}/ - - # # ZIP bauen - # cd dist - # zip -r ${ZIP_NAME} ${ZIP_FOLDER}/ \ - # -x "*.pyc" -x "*/__pycache__/*" - # cd .. - - # echo "ZIP_NAME=${ZIP_NAME}" >> $GITHUB_ENV - - # # Nur fürs Log: - # echo "ZIP_NAME=${ZIP_NAME}" - - # - name: Create Gitea Release - # id: create_release - # run: | - # echo "Kommuniziere mit Gitea API über HTTPS..." - # API_RESPONSE=$(curl -s -k -X POST "https://${{ vars.RELEASE_URL }}/api/v1/repos/${{ github.repository }}/releases" \ - # -H "accept: application/json" \ - # -H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" \ - # -H "Content-Type: application/json" \ - # -d '{ - # "body": "Dieses Release wurde automatisch vom Gitea Runner erstellt.", - # "draft": false, - # "name": "Version ${{ github.ref_name }}", - # "prerelease": false, - # "tag_name": "${{ github.ref_name }}" - # }') - - # RELEASE_ID=$(echo $API_RESPONSE | jq -r '.id') - - # if [ "$RELEASE_ID" = "null" ] || [ -z "$RELEASE_ID" ]; then - # echo "Fehler beim Erstellen des Releases. API Antwort:" - # echo $API_RESPONSE - # exit 1 - # fi - - # echo "Release ID: $RELEASE_ID" - # echo "RELEASE_ID=$RELEASE_ID" >> $GITHUB_ENV - - # - name: Upload ZIP asset - # id: upload_asset - # run: | - # echo "Lade release_${{ github.ref_name }}.zip (${{ env.ZIP_NAME }}) hoch..." - - # RESPONSE=$(curl -s -k -X POST \ - # "https://${{ vars.RELEASE_URL }}/api/v1/repos/${{ github.repository }}/releases/${{ env.RELEASE_ID }}/assets?name=${{ env.ZIP_NAME }}" \ - # -H "accept: application/json" \ - # -H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" \ - # -H "Content-Type: multipart/form-data" \ - # -F "attachment=@dist/${{ env.ZIP_NAME }}") - - # echo "Upload response: $RESPONSE" - - # DOWNLOAD_URL=$(echo "$RESPONSE" | grep -o '"browser_download_url":"[^"]*' | cut -d'"' -f4) - # echo "download_url=${DOWNLOAD_URL}" >> $GITHUB_OUTPUT - - # - name: Build XML block - # id: xmlblock - # run: | - # NAME="${{ steps.cfg.outputs.name }}" - # VERSION="${{ steps.info.outputs.version }}" - - # BLOCK=$(cat < - # ${{ steps.cfg.outputs.description }} - # ${{ steps.cfg.outputs.qgis_min }} - # ${{ steps.cfg.outputs.qgis_max }} - # ${{ steps.cfg.outputs.author }} - # ${{ steps.cfg.outputs.email }} - # ${{ steps.cfg.outputs.homepage }} - # ${{ steps.cfg.outputs.tracker }} - # ${{ steps.cfg.outputs.repository }} - # ${{ steps.upload_asset.outputs.download_url }} - # ${{ steps.cfg.outputs.experimental }} - # ${{ steps.cfg.outputs.deprecated }} - # - # EOF - # ) - - # { - # echo "block<> "$GITHUB_OUTPUT" - - # - name: Dispatch to Repository - # shell: bash - # run: | - # curl -s -X POST \ - # -H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" \ - # -H "Content-Type: application/json" \ - # "https://${{ vars.RELEASE_URL }}/api/v1/repos/${{ github.repository_owner }}/Repository/dispatches" \ - # -d "{ - # \"type\": \"plugin-released\", - # \"payload\": { - # \"plugin\": \"${{ steps.cfg.outputs.name }}\", - # \"channel\": \"${{ steps.info.outputs.channel }}\", - # \"xml_block\": \"${{ steps.xmlblock.outputs.block }}\" - # } - # }" + "https://${{ vars.RELEASE_URL }}/api/v1/repos/${OWNER}/Repository/actions/workflows/dispatches" \ No newline at end of file