diff --git a/.github/workflows/generateUpdatesXml.py b/.github/workflows/generateUpdatesXml.py new file mode 100644 index 0000000000..b73b56315c --- /dev/null +++ b/.github/workflows/generateUpdatesXml.py @@ -0,0 +1,32 @@ +import json +import re +import sys + +if __name__ == '__main__': + arg = sys.argv[1:][0] + if arg == '-': + data = json.load(sys.stdin) + else: + with open(arg) as f: + data = json.load(f) + + xml = ['', ''] + + buildRegex = r'.*(\d{3}).zip' + for asset in data['assets']: + name = asset['name'] + if ('plugin-amazonq' in name): + plugin = 'amazon.q' + elif ('plugin-core' in name): + plugin = 'aws.toolkit.core' + else: + plugin = 'aws.toolkit' + build = re.match(buildRegex, name).group(1) + + xml.append(f''' + +''') + + xml.append('') + + print('\n'.join(xml)) diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index 16151a9b5c..5b691f8386 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -201,13 +201,17 @@ jobs: - name: Publish to GitHub Releases run: | envsubst < "$GITHUB_WORKSPACE/.github/workflows/prerelease_notes.md" > "$RUNNER_TEMP/prerelease_notes.md" - gh release create $TAG_NAME --prerelease --notes-file "$RUNNER_TEMP/prerelease_notes.md" --title "$SUBJECT" --target $GITHUB_SHA plugin-toolkit-*/*.zip + gh release create "$TAG_NAME" --prerelease --notes-file "$RUNNER_TEMP/prerelease_notes.md" --title "$SUBJECT" --target $GITHUB_SHA plugin-toolkit-*/*.zip - name: Publish core run: | - gh release upload $TAG_NAME plugin-core-*/*.zip + gh release upload "$TAG_NAME" plugin-core-*/*.zip - name: Publish Q run: | - gh release upload $TAG_NAME plugin-amazonq-*/*.zip + gh release upload "$TAG_NAME" plugin-amazonq-*/*.zip - name: Publish Toolkit Standalone run: | - gh release upload $TAG_NAME plugin-standalone-*/*.zip + gh release upload "$TAG_NAME" plugin-standalone-*/*.zip + - name: Publish XML manifest + run: | + gh release view "$TAG_NAME" --repo aws/aws-toolkit-jetbrains --json assets | python3 "$GITHUB_WORKSPACE/.github/workflows/generateUpdatesXml.py" - > updatePlugins.xml + gh release upload "$TAG_NAME" updatePlugins.xml