From 68467fbac242fdd2aad9bf8beb0856d8b5cc9649 Mon Sep 17 00:00:00 2001 From: Will Lo Date: Tue, 28 Apr 2026 14:27:04 -0700 Subject: [PATCH 1/2] ci: upload plugin JAR and update site as build artifacts Add upload-artifact steps to the Maven build workflow so the plugin JAR and p2 update site ZIP are downloadable from the Actions tab on every PR and main push. Retained for 30 days. --- .github/workflows/maven.yml | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 595fe0030..1535d84c0 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -1,12 +1,9 @@ -# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven +# This workflow builds the Eclipse plugin with Maven/Tycho and uploads +# the plugin JAR and p2 update site as downloadable artifacts. +# +# Artifacts are available from the Actions tab on every PR and main push. -# This workflow uses actions that are not certified by GitHub. -# They are provided by a third-party and are governed by -# separate terms of service, privacy policy, and support -# documentation. - -name: Maven Sanity Build +name: Maven Build on: push: @@ -14,17 +11,16 @@ on: pull_request: branches: [ "main", "feature/*" ] - permissions: contents: read jobs: build: - runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Setup Maven Action uses: s4u/setup-maven-action@v1.18.0 with: @@ -32,5 +28,24 @@ jobs: java-version: 17 java-distribution: temurin maven-version: 3.9.8 + - name: Build with Maven run: mvn -B package --file pom.xml + + - name: Upload plugin JAR + if: success() + uses: actions/upload-artifact@v4 + with: + name: amazon-q-eclipse-plugin + path: plugin/target/amazon-q-eclipse-*.jar + if-no-files-found: error + retention-days: 30 + + - name: Upload update site + if: success() + uses: actions/upload-artifact@v4 + with: + name: amazon-q-eclipse-update-site + path: updatesite/target/amazon-q-eclipse-update-site-*.zip + if-no-files-found: error + retention-days: 30 From 92ecc2ceff75b141d46281cdb4ea0f5d9c1e1932 Mon Sep 17 00:00:00 2001 From: Will Lo Date: Wed, 29 Apr 2026 14:42:49 -0700 Subject: [PATCH 2/2] fix(notifications): prevent Learn More from suppressing sunset toast and fix popup clipping - Learn More now opens the URL and closes the popup without persisting the dismissed key, so the notification reappears on next launch - Only the explicit Dismiss button suppresses future appearances - Fix notification popup height calculation to use width-constrained computeSize so wrapped text and button row are not clipped --- .../eclipse/amazonq/util/KiroSunsetNotification.java | 2 +- .../toolkits/eclipse/amazonq/util/ToolkitNotification.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/util/KiroSunsetNotification.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/util/KiroSunsetNotification.java index a00bb85a1..81c6a79b7 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/util/KiroSunsetNotification.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/util/KiroSunsetNotification.java @@ -40,7 +40,7 @@ protected void createContentArea(final Composite parent) { @Override public void widgetSelected(final SelectionEvent e) { PluginUtils.openWebpage(Constants.KIRO_SUNSET_LEARN_MORE_URL); - dismiss(); + close(); } }); diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/util/ToolkitNotification.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/util/ToolkitNotification.java index 1363930b9..1ad9461d9 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/util/ToolkitNotification.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/util/ToolkitNotification.java @@ -72,9 +72,9 @@ protected final String getPopupShellTitle() { @Override protected final void initializeBounds() { Rectangle clArea = getPrimaryClientArea(); - Point initialSize = getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT); - int height = Math.max(initialSize.y, MIN_HEIGHT); - int width = Math.min(initialSize.x, MAX_WIDTH); + int width = Math.min(getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT).x, MAX_WIDTH); + // Recompute height with the constrained width so wrapped text and buttons are accounted for + int height = Math.max(getShell().computeSize(width, SWT.DEFAULT).y, MIN_HEIGHT); Point size = new Point(width, height); // Calculate the position for the new notification int x = clArea.x + clArea.width - size.x - PADDING_EDGE;