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:
