Skip to content

chore(deps): update dependency activesupport to v7.2.3.1 [security] #250

chore(deps): update dependency activesupport to v7.2.3.1 [security]

chore(deps): update dependency activesupport to v7.2.3.1 [security] #250

name: Build, Deploy, and Test All Examples
on:
workflow_dispatch:
inputs:
environment:
description: "Deployment environment (dev, staging, prod)"
required: true
default: "prod"
type: choice
options:
- dev
- staging
- prod
skip_cache:
description: "Skip build cache and force rebuild all packages"
required: false
default: true
type: boolean
plugin_version:
description: "Zephyr plugin version to upgrade to (default: next)"
required: false
default: "next"
type: string
repository_dispatch:
types: [build-deploy-test]
pull_request:
branches:
- main
paths:
- "bundlers/**"
- "module-federation/**"
- "frameworks/**"
- "server/**"
- "build-systems/**"
- "scripts/**"
- ".github/workflows/**"
- ".github/actions/**"
push:
branches:
- main
paths:
- "bundlers/**"
- "module-federation/**"
- "frameworks/**"
- "server/**"
- "build-systems/**"
- "scripts/**"
- ".github/workflows/**"
- ".github/actions/**"
env:
NODE_VERSION: "24"
ZE_FAIL_BUILD: true
ZE_SECRET_TOKEN: |
${{
github.event.inputs.environment == 'dev' && secrets.ZE_SECRET_TOKEN_DEV ||
github.event.inputs.environment == 'staging' && secrets.ZE_SECRET_TOKEN_STAGING ||
secrets.ZE_SECRET_TOKEN_PROD
}}
ZE_API_GATE: |
${{
github.event.inputs.environment == 'dev' && 'https://zeapi.zephyrcloudapp.dev' ||
github.event.inputs.environment == 'staging' && 'https://zeapi.zephyrcloudapp.xyz' ||
'https://zeapi.zephyrcloud.app'
}}
ZE_API: |
${{
github.event.inputs.environment == 'dev' && 'https://api-dev.zephyr-cloud.io' ||
github.event.inputs.environment == 'staging' && 'https://zephyr-api-prerelease-1a6b535d0499.herokuapp.com' ||
'https://api.zephyr-cloud.io'
}}
jobs:
build-deploy-test:
name: Build, Deploy, and Test All Examples
runs-on: depot-ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 10.6.3
run_install: false
- uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
registry-url: "https://registry.npmjs.org"
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: Setup pnpm cache
uses: actions/cache@v4
with:
path: ${{ env.STORE_PATH }}
key: pnpm-store-${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
pnpm-store-${{ runner.os }}-
- name: Install scripts dependencies
run: |
cd scripts
pnpm install --prefer-offline
- name: Upgrade Zephyr plugins
if: github.event_name != 'pull_request' && github.event_name != 'push'
run: |
cd scripts
if [ -n "${{ github.event.inputs.plugin_version }}" ]; then
echo "Upgrading plugins to version: ${{ github.event.inputs.plugin_version }}"
pnpm upgrade-plugins --version=${{ github.event.inputs.plugin_version }}
elif [ -n "${{ github.event.client_payload.plugin_version }}" ]; then
echo "Upgrading plugins to version: ${{ github.event.client_payload.plugin_version }}"
pnpm upgrade-plugins --version=${{ github.event.client_payload.plugin_version }}
else
echo "Upgrading plugins to latest (next)"
pnpm upgrade-plugins
fi
- name: Install example dependencies
run: pnpm install --prefer-offline
- name: Install standalone example dependencies
run: |
standalone=(
build-systems/nx-rspack-mf
build-systems/turborepo-rspack-mf
module-federation/airbnb-clone
module-federation/react-vite-rspack-webpack
)
for example in "${standalone[@]}"; do
if [ -f "${example}/package.json" ]; then
echo "Installing dependencies for ${example}"
cd "$example"
pnpm install --prefer-offline
cd "$GITHUB_WORKSPACE"
fi
done
- name: Clean zephyr cache before build
run: |
echo "Cleaning $HOME/.zephyr directory..."
if [ -d "$HOME/.zephyr" ]; then
echo "Found existing .zephyr directory, checking contents:"
ls -lah "$HOME/.zephyr/" || true
echo "Removing .zephyr directory..."
rm -rf "$HOME/.zephyr"
fi
echo "Creating fresh .zephyr directory..."
mkdir -p "$HOME/.zephyr"
- name: Build all examples
run: |
cd scripts
if [ "${{ github.event.inputs.skip_cache }}" == "true" ] || [ "${{ github.event.client_payload.skip_cache }}" == "true" ]; then
echo "Building all examples with --skip-cache flag"
pnpm build-packages --skip-cache
else
echo "Building all examples with cache enabled"
pnpm build-packages
fi
env:
NODE_ENV: production
ZE_SECRET_TOKEN: ${{ env.ZE_SECRET_TOKEN }}
ZE_API_GATE: ${{ env.ZE_API_GATE }}
ZE_API: ${{ env.ZE_API }}
- name: Upload build logs
uses: actions/upload-artifact@v4
if: always()
with:
name: build-logs
path: scripts/tmp/build/
retention-days: 3
- name: Wait for deployments to be ready
run: |
echo "Waiting 60 seconds for all deployments to propagate..."
sleep 60
- name: Install Playwright browsers
run: |
cd scripts
npx playwright install chromium
- name: Run deployment validation tests
run: |
cd scripts
pnpm test
env:
CI: true
ZE_SECRET_TOKEN: ${{ env.ZE_SECRET_TOKEN }}
ZE_API_GATE: ${{ env.ZE_API_GATE }}
ZE_API: ${{ env.ZE_API }}
- name: Upload test results
uses: actions/upload-artifact@v4
if: always()
with:
name: test-results
path: |
scripts/test-results/
scripts/playwright-report/
retention-days: 7