🚀 Variables Editor, theme switcher, and dependency security fixes #337
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| pull_request: | |
| branches: [main, develop] | |
| push: | |
| branches: [develop] | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24 | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci --no-audit | |
| - name: Audit dependencies | |
| run: npm run audit:all | |
| - name: Build | |
| run: npm run build | |
| - name: Verify build output | |
| run: | | |
| if [[ ! -d "dist" ]]; then | |
| echo "Build failed: dist directory not found" | |
| exit 1 | |
| fi | |
| echo "Build verification passed" | |
| test: | |
| runs-on: ubuntu-latest | |
| needs: build | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24 | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci --no-audit | |
| - name: Free disk space | |
| run: | | |
| df -h | |
| sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL | |
| df -h | |
| - name: Build | |
| run: npm run build | |
| - name: Install E2E fixture dependencies | |
| run: | | |
| npm install --prefix tests/test-nextjs --no-audit --package-lock=false | |
| npm install --prefix tests/test-commonjs --no-audit --package-lock=false | |
| npm install --prefix tests/test-nextjs-cjs --no-audit --package-lock=false | |
| - name: Run unit and integration tests | |
| run: npm run test | |
| - name: Run E2E tests | |
| run: npm run test:e2e | |
| - name: Run browser E2E tests | |
| env: | |
| PLAYWRIGHT_USE_SYSTEM_CHROME: '1' | |
| run: npm run test:e2e:browser |