Files
brightwheel-exporter/.github/workflows/release.yml
T

62 lines
1.5 KiB
YAML

name: Build & Package Extension Release
on:
release:
types: [published]
push:
tags:
- 'v*'
workflow_dispatch:
permissions:
contents: write
jobs:
build-release:
name: Build ZIP & Attach to GitHub Release
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Read Extension Version
id: version
run: |
VERSION=$(node -p "require('./manifest.json').version")
echo "EXT_VERSION=$VERSION" >> $GITHUB_ENV
echo "Building extension release for version: $VERSION"
- name: Build Production Extension ZIP
run: |
ZIP_NAME="brightwheel-exporter-v${{ env.EXT_VERSION }}.zip"
echo "📦 Packaging $ZIP_NAME..."
zip -r "$ZIP_NAME" . \
-x "*.git*" \
-x ".githooks/*" \
-x ".github/*" \
-x "emmy/*" \
-x "exports/*" \
-x "data/*" \
-x "test_data/*" \
-x "screenshots/*" \
-x "*.md" \
-x "LICENSE" \
-x "*.zip"
echo "ZIP_FILE=$ZIP_NAME" >> $GITHUB_ENV
echo "✅ Package contents verified:"
unzip -l "$ZIP_NAME"
- name: Upload ZIP to GitHub Release Assets
uses: softprops/action-gh-release@v2
with:
files: ${{ env.ZIP_FILE }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}