From 9c1a4dfef825082dcafc4dff9ce7bcc06ef5de58 Mon Sep 17 00:00:00 2001 From: Richard Li Date: Tue, 11 Feb 2025 16:48:16 -0800 Subject: [PATCH 1/9] ci: use single matrix for all prerelease artifacts It is easy to forget to update all artifacts on a new MV, so consolidate all artifacts under same matrix --- .github/workflows/prerelease.yml | 72 ++++---------------------------- 1 file changed, 8 insertions(+), 64 deletions(-) diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index ac545e52acd..8bc2e1fe926 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -8,15 +8,18 @@ on: default: prerelease push: branches: [ main, feature/* ] + pull_request: + branches: [ '**' ] concurrency: group: ${{ github.workflow }}${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: - generate_artifact_toolkit_standalone: + generate_artifact: strategy: matrix: + build_target: [ ':plugin-core:buildPlugin', ':plugin-toolkit:intellij-standalone:buildPlugin', ':plugin-amazonq:buildPlugin' ] supported_versions: [ '2024.1', '2024.2', '2024.3', '2025.1' ] runs-on: ubuntu-latest steps: @@ -38,71 +41,12 @@ jobs: dotnet-version: '6.x' - name: Generate artifact run: | - ./gradlew -PideProfileName=${{ matrix.supported_versions }} :plugin-toolkit:intellij-standalone:buildPlugin + ./gradlew -PideProfileName=${{ matrix.supported_versions }} ${{ matrix.build_target }} - name: Upload artifact uses: actions/upload-artifact@v4 with: - name: plugin-standalone-${{ matrix.supported_versions }} - path: ./plugins/toolkit/intellij-standalone/build/distributions/*.zip - retention-days: 1 - - generate_artifact_q: - strategy: - matrix: - supported_versions: [ '2024.1', '2024.2', '2024.3' ] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: remove unwanted dependencies - run: | - sudo rm -rf /usr/share/dotnet - sudo rm -rf /opt/ghc - sudo rm -rf "/usr/local/share/boost" - sudo rm -rf "$AGENT_TOOLSDIRECTORY" - - uses: actions/setup-java@v4 - with: - distribution: 'corretto' - java-version: '21' - - name: Generate artifact - run: | - ./gradlew -PideProfileName=${{ matrix.supported_versions }} :plugin-amazonq:buildPlugin - - name: Upload artifact - uses: actions/upload-artifact@v4 - with: - name: plugin-amazonq-${{ matrix.supported_versions }} - path: ./plugins/amazonq/build/distributions/*.zip - retention-days: 1 - - generate_artifact_core: - strategy: - matrix: - supported_versions: [ '2024.1', '2024.2', '2024.3' ] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: remove unwanted dependencies - run: | - sudo rm -rf /usr/share/dotnet - sudo rm -rf /opt/ghc - sudo rm -rf "/usr/local/share/boost" - sudo rm -rf "$AGENT_TOOLSDIRECTORY" - - uses: actions/setup-java@v4 - with: - distribution: 'corretto' - java-version: '21' - - - name: Generate artifact - run: | - ./gradlew -PideProfileName=${{ matrix.supported_versions }} :plugin-core:buildPlugin - - name: Upload artifact - uses: actions/upload-artifact@v4 - with: - name: plugin-core-${{ matrix.supported_versions }} - path: ./plugins/core/build/distributions/*.zip + name: plugin-${{ matrix.build_target }}-${{ matrix.supported_versions }} + path: ./plugins/**/build/distributions/*.zip retention-days: 1 generate_changelog: @@ -148,7 +92,7 @@ jobs: echo 'EOF' >> $GITHUB_OUTPUT publish: - needs: [ generate_artifact_toolkit_standalone, generate_artifact_core, generate_artifact_q, generate_changelog ] + needs: [ generate_artifact, generate_changelog ] env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} GH_REPO: ${{ github.repository }} From cbbb5be6333a5905417b7de5ccc1d3ec27fd5f74 Mon Sep 17 00:00:00 2001 From: Richard Li Date: Tue, 11 Feb 2025 17:21:46 -0800 Subject: [PATCH 2/9] artifact name --- .github/workflows/prerelease.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index 8bc2e1fe926..8ae0ff18663 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -42,10 +42,15 @@ jobs: - name: Generate artifact run: | ./gradlew -PideProfileName=${{ matrix.supported_versions }} ${{ matrix.build_target }} + - name: Fix artifact name + env: + ARTIFACT_NAME: "${{ matrix.build_target }}" + run: | + echo "ARTIFACT_NAME=${ARTIFACT_NAME/-/:}" >> $GITHUB_ENV - name: Upload artifact uses: actions/upload-artifact@v4 with: - name: plugin-${{ matrix.build_target }}-${{ matrix.supported_versions }} + name: ${{ env.ARTIFACT_NAME }} path: ./plugins/**/build/distributions/*.zip retention-days: 1 From b33f161746286fc8a2df42b371009cb6209dc151 Mon Sep 17 00:00:00 2001 From: Richard Li <742829+rli@users.noreply.github.com> Date: Tue, 11 Feb 2025 17:41:27 -0800 Subject: [PATCH 3/9] Update prerelease.yml --- .github/workflows/prerelease.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index 8ae0ff18663..31bace238db 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -46,7 +46,7 @@ jobs: env: ARTIFACT_NAME: "${{ matrix.build_target }}" run: | - echo "ARTIFACT_NAME=${ARTIFACT_NAME/-/:}" >> $GITHUB_ENV + echo "ARTIFACT_NAME=${ARTIFACT_NAME//:}" >> $GITHUB_ENV - name: Upload artifact uses: actions/upload-artifact@v4 with: From 3ee841cf241d17c2baaf34ea191f618699221203 Mon Sep 17 00:00:00 2001 From: Richard Li <742829+rli@users.noreply.github.com> Date: Tue, 11 Feb 2025 17:52:02 -0800 Subject: [PATCH 4/9] Update prerelease.yml --- .github/workflows/prerelease.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index 31bace238db..84732482c5c 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -20,7 +20,7 @@ jobs: strategy: matrix: build_target: [ ':plugin-core:buildPlugin', ':plugin-toolkit:intellij-standalone:buildPlugin', ':plugin-amazonq:buildPlugin' ] - supported_versions: [ '2024.1', '2024.2', '2024.3', '2025.1' ] + version: [ '2024.1', '2024.2', '2024.3', '2025.1' ] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -41,10 +41,10 @@ jobs: dotnet-version: '6.x' - name: Generate artifact run: | - ./gradlew -PideProfileName=${{ matrix.supported_versions }} ${{ matrix.build_target }} + ./gradlew -PideProfileName=${{ matrix.version }} ${{ matrix.build_target }} - name: Fix artifact name env: - ARTIFACT_NAME: "${{ matrix.build_target }}" + ARTIFACT_NAME: "${{ matrix.build_target }}-${{ matrix.version }}" run: | echo "ARTIFACT_NAME=${ARTIFACT_NAME//:}" >> $GITHUB_ENV - name: Upload artifact From a8016b49abf678ed2cca506444f809136c9154a9 Mon Sep 17 00:00:00 2001 From: Richard Li <742829+rli@users.noreply.github.com> Date: Wed, 12 Feb 2025 08:35:10 -0800 Subject: [PATCH 5/9] Update prerelease.yml --- .github/workflows/prerelease.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index 84732482c5c..c29ccaf4a07 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -121,13 +121,7 @@ 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-standalone-*/*.zip - - name: Publish core - run: | - gh release upload "$TAG_NAME" plugin-core-*/*.zip - - name: Publish Q - run: | - gh release upload "$TAG_NAME" plugin-amazonq-*/*.zip + gh release create "$TAG_NAME" --prerelease --notes-file "$RUNNER_TEMP/prerelease_notes.md" --title "$SUBJECT" --target $GITHUB_SHA *.zip - name: Publish XML manifest run: | gh release view "$TAG_NAME" --repo "$GITHUB_REPOSITORY" --json assets | python3 "$GITHUB_WORKSPACE/.github/workflows/generateUpdatesXml.py" - > updatePlugins.xml From 1a237714756d825eb2e34ae7e04dccbc659d0010 Mon Sep 17 00:00:00 2001 From: Richard Li <742829+rli@users.noreply.github.com> Date: Wed, 12 Feb 2025 09:42:59 -0800 Subject: [PATCH 6/9] Update prerelease.yml --- .github/workflows/prerelease.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index c29ccaf4a07..fa7622cbfdf 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -46,12 +46,13 @@ jobs: env: ARTIFACT_NAME: "${{ matrix.build_target }}-${{ matrix.version }}" run: | + echo "ARTIFACT_SUBPATH=$(echo $ARTIFACT_NAME | sed -e 's/^:plugin-//' -e 's/:buildPlugin$//' -e 's/:/\//')" >> $GITHUB_ENV echo "ARTIFACT_NAME=${ARTIFACT_NAME//:}" >> $GITHUB_ENV - name: Upload artifact uses: actions/upload-artifact@v4 with: name: ${{ env.ARTIFACT_NAME }} - path: ./plugins/**/build/distributions/*.zip + path: ./plugins/${{ env.ARTIFACT_SUBPATH }}/build/distributions/*.zip retention-days: 1 generate_changelog: From 2b42ec9b15c07cd8a56ea347c1b143babd235c4c Mon Sep 17 00:00:00 2001 From: Richard Li <742829+rli@users.noreply.github.com> Date: Wed, 12 Feb 2025 09:44:03 -0800 Subject: [PATCH 7/9] Update prerelease.yml --- .github/workflows/prerelease.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index fa7622cbfdf..9b393f2cb40 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -44,9 +44,10 @@ jobs: ./gradlew -PideProfileName=${{ matrix.version }} ${{ matrix.build_target }} - name: Fix artifact name env: + BUILD_TARGET: "${{ matrix.build_target }}" ARTIFACT_NAME: "${{ matrix.build_target }}-${{ matrix.version }}" run: | - echo "ARTIFACT_SUBPATH=$(echo $ARTIFACT_NAME | sed -e 's/^:plugin-//' -e 's/:buildPlugin$//' -e 's/:/\//')" >> $GITHUB_ENV + echo "ARTIFACT_SUBPATH=$(echo $BUILD_TARGET | sed -e 's/^:plugin-//' -e 's/:buildPlugin$//' -e 's/:/\//')" >> $GITHUB_ENV echo "ARTIFACT_NAME=${ARTIFACT_NAME//:}" >> $GITHUB_ENV - name: Upload artifact uses: actions/upload-artifact@v4 From e14edddbec44b7d39df1512347b4a2cad5ecc888 Mon Sep 17 00:00:00 2001 From: Richard Li <742829+rli@users.noreply.github.com> Date: Wed, 12 Feb 2025 10:36:00 -0800 Subject: [PATCH 8/9] Update prerelease.yml --- .github/workflows/prerelease.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index 9b393f2cb40..807ef872574 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -123,7 +123,7 @@ 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 *.zip + gh release create "$TAG_NAME" --prerelease --notes-file "$RUNNER_TEMP/prerelease_notes.md" --title "$SUBJECT" --target $GITHUB_SHA plugin*/*.zip - name: Publish XML manifest run: | gh release view "$TAG_NAME" --repo "$GITHUB_REPOSITORY" --json assets | python3 "$GITHUB_WORKSPACE/.github/workflows/generateUpdatesXml.py" - > updatePlugins.xml From 82fbfaa60be1fd54a9afd6c6a2f056bf68f6ae52 Mon Sep 17 00:00:00 2001 From: Richard Li <742829+rli@users.noreply.github.com> Date: Wed, 12 Feb 2025 16:34:41 -0800 Subject: [PATCH 9/9] Update prerelease.yml --- .github/workflows/prerelease.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index 807ef872574..7747ca912ff 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -8,8 +8,6 @@ on: default: prerelease push: branches: [ main, feature/* ] - pull_request: - branches: [ '**' ] concurrency: group: ${{ github.workflow }}${{ github.event.pull_request.number || github.ref }}