test(project): Mock @parcel/watcher in BuildServer integration tests #3499
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: GitHub CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| permissions: | |
| contents: read | |
| jobs: | |
| test: | |
| name: General checks and tests | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22.20.0 | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Check Node.js engine compatibility | |
| run: npm run check-engine | |
| - name: Check package.json "engines" consistency | |
| run: | | |
| node << 'EOF' | |
| const { execSync } = require('child_process'); | |
| const fs = require('fs'); | |
| const rootPkg = JSON.parse(fs.readFileSync('package.json', 'utf8')); | |
| const workspaces = JSON.parse(execSync('npm query .workspace --json', { encoding: 'utf8' })); | |
| let hasError = false; | |
| workspaces.forEach(pkg => { | |
| if (JSON.stringify(pkg.engines) !== JSON.stringify(rootPkg.engines)) { | |
| console.error(`❌ ${pkg.location}/package.json "engines" mismatch with root package.json`); | |
| hasError = true; | |
| } | |
| }); | |
| if (hasError) process.exit(1); | |
| console.log('✅ All workspace packages "engines" are consistent with root package.json'); | |
| EOF | |
| - name: Perform ESLint check | |
| run: npm run lint | |
| - name: Validate current commit (last commit) with commitlint | |
| if: github.event_name == 'push' | |
| run: npm run lint:commit -- --last --verbose | |
| - name: Validate PR commits with commitlint | |
| if: github.event_name == 'pull_request' | |
| run: npm run lint:commit -- --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }} --verbose | |
| - name: Perform Licenses check | |
| run: npm run check-licenses | |
| - name: Perform dependency check | |
| run: npm run knip | |
| - name: Run unit tests | |
| run: npm run coverage | |
| - name: Generate JSDoc documentation (workspace) | |
| working-directory: internal/documentation | |
| run: npm run jsdoc-generate | |
| - name: Generate merged JSON schema (workspace) | |
| working-directory: internal/documentation | |
| run: npm run schema-generate | |
| - name: Download UI5 CLI packages | |
| working-directory: internal/documentation | |
| run: npm run download-packages | |
| - name: Generate JSDoc documentation (gh-pages) | |
| working-directory: internal/documentation | |
| run: npm run jsdoc-generate-gh-pages | |
| - name: Generate merged JSON schema (gh-pages) | |
| working-directory: internal/documentation | |
| run: npm run schema-generate-gh-pages | |
| - name: Generate CLI documentation | |
| working-directory: internal/documentation | |
| run: npm run generate-cli-doc | |
| - name: Vitepress build | |
| working-directory: internal/documentation | |
| run: | | |
| npm run build:vitepress | |
| npm run build:assets | |
| - name: Check shrinkwrap integrity | |
| working-directory: internal/shrinkwrap-extractor | |
| run: npm run test |