diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fceac2e..e91f38d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,22 +16,22 @@ jobs: include: - target: x86_64-unknown-linux-gnu os: ubuntu-latest - name: gdscript-formatter-linux-x86_64 + name: gdscript-formatter-${{ github.ref_name }}-linux-x86_64 - target: aarch64-unknown-linux-gnu os: ubuntu-latest - name: gdscript-formatter-linux-aarch64 + name: gdscript-formatter-${{ github.ref_name }}-linux-aarch64 - target: x86_64-apple-darwin os: macos-latest - name: gdscript-formatter-macos-x86_64 + name: gdscript-formatter-${{ github.ref_name }}-macos-x86_64 - target: aarch64-apple-darwin os: macos-latest - name: gdscript-formatter-macos-aarch64 + name: gdscript-formatter-${{ github.ref_name }}-macos-aarch64 - target: x86_64-pc-windows-msvc os: windows-latest - name: gdscript-formatter-windows-x86_64.exe + name: gdscript-formatter-${{ github.ref_name }}-windows-x86_64.exe - target: aarch64-pc-windows-msvc os: windows-latest - name: gdscript-formatter-windows-aarch64.exe + name: gdscript-formatter-${{ github.ref_name }}-windows-aarch64.exe runs-on: ${{ matrix.os }} permissions: @@ -97,14 +97,14 @@ jobs: - name: Create godot-addon.zip run: | - zip -r godot-addon.zip addons/ + zip -r godot-addon-${{ github.ref_name }}.zip addons/ shell: bash - name: Upload artifact uses: actions/upload-artifact@v4 with: - name: godot-addon - path: godot-addon.zip + name: godot-addon-${{ github.ref_name }} + path: godot-addon-${{ github.ref_name }}.zip if-no-files-found: error publish-release: diff --git a/addons/GDQuest_GDScript_formatter/install_and_update.gd b/addons/GDQuest_GDScript_formatter/install_and_update.gd index 59a4677..7f95d0f 100644 --- a/addons/GDQuest_GDScript_formatter/install_and_update.gd +++ b/addons/GDQuest_GDScript_formatter/install_and_update.gd @@ -69,7 +69,8 @@ func _process_response_latest_release(body: PackedByteArray) -> void: print("GDScript Formatter release information loaded successfully") var assets = json["assets"] - var download_url := _find_matching_asset(assets) + var tag = json["tag_name"] + var download_url := _find_matching_asset(assets, tag) if download_url.is_empty(): var error_message := "No matching binary found for current platform" @@ -148,12 +149,12 @@ func _get_platform_info() -> Dictionary: return platform_info -func _find_matching_asset(assets: Array) -> String: +func _find_matching_asset(assets: Array, tag: String) -> String: var platform_info := _get_platform_info() if platform_info.is_empty(): return "" - var expected_pattern := "gdscript-formatter-%s-%s" % [platform_info["os"], platform_info["architecture"]] + var expected_pattern := "gdscript-formatter-%s-%s-%s" % [tag, platform_info["os"], platform_info["architecture"]] if platform_info["os"] == "windows": expected_pattern += ".exe" expected_pattern += ".zip"