From 84e5119c4155b1655a02ccecbb3b36d0688cf20a Mon Sep 17 00:00:00 2001 From: Keith Solomon Date: Tue, 11 Aug 2026 06:48:35 -0500 Subject: [PATCH] Add GitHub Actions release workflow --- .github/workflows/release.yml | 58 +++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..3dffe72 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,58 @@ +name: Release + +on: + push: + tags: + - 'v*' + +permissions: + contents: write + +jobs: + release: + name: Build & publish plugin zip + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Build plugin zip + working-directory: ${{ github.workspace }} + run: | + set -euo pipefail + VERSION="${GITHUB_REF_NAME#v}" + STAGE="dist/staging" + OUT="dist/projects-portfolio-v${VERSION}.zip" + + rm -rf dist + mkdir -p "$STAGE/projects-portfolio" + + cp projects-portfolio.php "$STAGE/projects-portfolio/" + cp README.md "$STAGE/projects-portfolio/" + cp LICENSE "$STAGE/projects-portfolio/" + cp -r admin/ "$STAGE/projects-portfolio/" + cp -r assets/ "$STAGE/projects-portfolio/" + cp -r includes/ "$STAGE/projects-portfolio/" + cp -r languages/ "$STAGE/projects-portfolio/" + cp -r templates/ "$STAGE/projects-portfolio/" + + ( cd "$STAGE" && zip -r "../../$OUT" projects-portfolio ) + + echo "Built $OUT" + unzip -l "$OUT" + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: projects-portfolio-v${{ github.ref_name }} + path: dist/projects-portfolio-*.zip + if-no-files-found: error + + - name: Create GitHub release + uses: softprops/action-gh-release@v2 + with: + tag_name: ${{ github.ref_name }} + name: ${{ github.ref_name }} + generate_release_notes: true + files: dist/projects-portfolio-*.zip