NPM upgrade, bump dependencies to reduce vulnerabilities and add lockfile maintenance guide #7013
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: Production Build Smoke Test | |
| on: | |
| push: | |
| branches: | |
| - master | |
| paths-ignore: | |
| - "**/*.md" | |
| - "doc/**" | |
| - "logo/**" | |
| workflow_dispatch: | |
| pull_request: | |
| branches: | |
| - master | |
| paths-ignore: | |
| - "**/*.md" | |
| - "doc/**" | |
| - "logo/**" | |
| jobs: | |
| build-and-test-playwright: | |
| name: Smoke Test for Browser Example Production Build on ubuntu-22.04 with Node.js 22.x | |
| runs-on: ubuntu-22.04 | |
| timeout-minutes: 60 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Use Node.js "22.x" | |
| uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 | |
| with: | |
| node-version: "22.x" | |
| registry-url: "https://registry.npmjs.org" | |
| - name: Use Python 3.13 | |
| uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 | |
| with: | |
| python-version: "3.13" | |
| - name: Build Browser Example Application for Production | |
| shell: bash | |
| run: | | |
| npm ci | |
| cd examples/browser && npm run build:production | |
| env: | |
| NODE_OPTIONS: --max_old_space_size=4096 | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # https://github.com/microsoft/vscode-ripgrep/issues/9 | |
| - name: Cache Playwright browsers | |
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 | |
| with: | |
| # Playwright's default install path on Linux. Keyed on the lockfile so the cache | |
| # is reused as long as the @playwright/test version (and therefore the required | |
| # Chromium build) does not change. After the first successful extraction the | |
| # `playwright install` step becomes a no-op. | |
| path: ~/.cache/ms-playwright | |
| key: ${{ runner.os }}-playwright-${{ hashFiles('package-lock.json') }} | |
| restore-keys: | | |
| ${{ runner.os }}-playwright- | |
| - name: Build Playwright | |
| shell: bash | |
| run: | | |
| cd examples/playwright && npm run build | |
| - name: Run Smoke Test (examples/playwright/src/tests/theia-app) | |
| shell: bash | |
| run: npm run test:playwright -- theia-app |