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

64 lines
1.6 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_OUTPUT"
echo "Building extension release for version: $VERSION"
- name: Build Production Extension ZIP
id: package
run: |
ZIP_NAME="brightwheel-exporter-v${{ steps.version.outputs.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_OUTPUT"
echo "✅ Package contents verified:"
unzip -l "$ZIP_NAME"
- name: Upload ZIP to GitHub Release Assets
uses: softprops/action-gh-release@v2
with:
files: ${{ steps.package.outputs.zip_file }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}