This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch feat/pr-artifact-download
in repository https://gitbox.apache.org/repos/asf/struts-intellij-plugin.git

commit 3f632007ced391ec67410a8908a4b26af3c2b7d0
Author: Lukasz Lenart <[email protected]>
AuthorDate: Sat Jan 10 19:47:00 2026 +0100

    feat(ci): add artifact download for PR builds
    
    - Add artifact preparation and upload steps to build job
    - Add sticky PR comment with download link to artifacts
    - Enables reviewers to test plugin without building locally
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <[email protected]>
---
 .github/workflows/build.yml | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 00c006b..75c6442 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -81,6 +81,36 @@ jobs:
       - name: Build plugin
         run: ./gradlew buildPlugin
 
+      # Prepare plugin archive content for creating artifact
+      - name: Prepare Plugin Artifact
+        id: artifact
+        shell: bash
+        run: |
+          cd ${{ github.workspace }}/build/distributions
+          FILENAME=`ls *.zip`
+          unzip "$FILENAME" -d content
+          echo "filename=${FILENAME:0:-4}" >> $GITHUB_OUTPUT
+
+      # Store already-built plugin as an artifact for downloading
+      - name: Upload artifact
+        uses: actions/upload-artifact@v4
+        with:
+          name: ${{ steps.artifact.outputs.filename }}
+          path: ./build/distributions/content/*/*
+
+      # Comment on PR with artifact download link
+      - name: Comment PR with artifact link
+        if: github.event_name == 'pull_request'
+        uses: marocchino/sticky-pull-request-comment@v2
+        with:
+          header: plugin-artifact
+          message: |
+            🔌 **Plugin artifact ready for testing!**
+
+            Download from [Actions artifacts](${{ github.server_url }}/${{ 
github.repository }}/actions/runs/${{ github.run_id }}#artifacts)
+
+            Artifact: `${{ steps.artifact.outputs.filename }}`
+
 
   # Run tests and upload a code coverage report
   test:

Reply via email to