[WIP] NPM upgrade #9606
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/CD | |
| on: | |
| push: | |
| branches: | |
| - master | |
| paths-ignore: | |
| - '**/*.md' | |
| - 'doc/**' | |
| - 'logo/**' | |
| workflow_dispatch: | |
| pull_request: | |
| branches: | |
| - master | |
| paths-ignore: | |
| - '**/*.md' | |
| - 'doc/**' | |
| - 'logo/**' | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-22.04 | |
| timeout-minutes: 60 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 | |
| - name: Use Node.js 22.x | |
| uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3.8.2 | |
| with: | |
| node-version: 22.x | |
| registry-url: 'https://registry.npmjs.org' | |
| - name: Use Python 3.13 | |
| uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 | |
| with: | |
| python-version: '3.13' | |
| - name: Install and Build | |
| shell: bash | |
| run: | | |
| npm ci | |
| ./scripts/check_git_status.sh | |
| env: | |
| NODE_OPTIONS: --max_old_space_size=4096 | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # https://github.com/microsoft/vscode-ripgrep/issues/9 | |
| - name: Lint | |
| run: | | |
| npm run lint | |
| build: | |
| name: Build and Test (${{ matrix.os }}, node-${{ matrix.node }}) | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [windows-2022, ubuntu-22.04, macos-14] | |
| node: [20.x, 22.x] | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 60 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 | |
| - name: Use Node.js ${{ matrix.node }} | |
| uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3.8.2 | |
| with: | |
| node-version: ${{ matrix.node }} | |
| registry-url: 'https://registry.npmjs.org' | |
| - name: Use Python 3.13 | |
| uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 | |
| with: | |
| python-version: '3.13' | |
| - name: Build | |
| shell: bash | |
| run: | | |
| npm ci | |
| npm run build | |
| git status | |
| ./scripts/check_git_status.sh | |
| env: | |
| NODE_OPTIONS: --max_old_space_size=4096 | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # https://github.com/microsoft/vscode-ripgrep/issues/9 | |
| - name: Download Plugins | |
| shell: bash | |
| run: | | |
| npm run download:plugins -- --rate-limit 3 | |
| - name: Test (headless) | |
| if: matrix.tests != 'skip' | |
| shell: bash | |
| run: | | |
| npm run rebuild:browser | |
| npm run test:theia | |
| - name: Test (browser) | |
| if: matrix.tests != 'skip' && matrix.node == '20.x' | |
| run: | | |
| npm run test:browser | |
| - name: Test (electron) | |
| if: matrix.tests != 'skip' && runner.os == 'Linux' | |
| run: | | |
| xvfb-run -a npm run test:electron |