Files
scrypted/.github/workflows/build-plugins-changed.yml
2024-04-18 09:58:33 -07:00

52 lines
1.3 KiB
YAML

name: Build changed plugins
on:
# push:
# branches: ["main"]
# paths: ["plugins/**"]
# pull_request:
# paths: ["plugins/**"]
workflow_dispatch:
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 2
- uses: actions/setup-node@v4
with:
node-version: 18
- name: Set up base packages
run: ./npm-install.sh
- name: Build changed plugins
run: |
# Get the list of changed directories in /plugins
changed_dirs=$(git diff --name-only HEAD^ HEAD ./plugins | awk -F/ '{print $2}' | uniq)
# Loop through each changed directory
for dir in $changed_dirs; do
pushd "./plugins/$dir"
if [[ "$dir" == "core" ]]; then
# core plugin requires ui to be built
pushd "./ui"
echo "plugins/$dir/ui > npm install"
npm install
echo "plugins/$dir/ui > npm run build"
npm run build
popd
fi
echo "plugins/$dir > npm install"
npm install
echo "plugins/$dir > npm run build"
npm run build
popd
done