chore: update dependency write-file-atomic to v8 #24003
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: Continuous Integration | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| branches: [master] | |
| schedule: | |
| - cron: '0 2 * * 1' # At 02:00 on Monday | |
| permissions: {} | |
| env: | |
| NODE_OPTIONS: --max-old-space-size=4096 | |
| jobs: | |
| test: | |
| name: Test | |
| timeout-minutes: 30 | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest] | |
| node-version: [20, 22, 24] | |
| include: | |
| - os: windows-2022 | |
| node-version: 22 # LTS | |
| - os: macos-latest | |
| node-version: 22 # LTS | |
| fail-fast: false | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 | |
| with: | |
| fetch-depth: 0 | |
| - name: Use Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| - name: Set up Python 3.11 (for node-gyp) | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.11' | |
| - name: Install dependencies | |
| env: | |
| PYTHON: ${{env.pythonLocation}}/bin/python3 | |
| run: npm ci | |
| - name: Install Chrome (Linux) | |
| if: runner.os == 'Linux' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y google-chrome-stable | |
| - name: Install Chrome (macOS) | |
| if: runner.os == 'macOS' | |
| run: | | |
| brew install --cask google-chrome | |
| - name: Install Chrome (Windows) | |
| if: runner.os == 'Windows' | |
| run: | | |
| choco install googlechrome --ignore-checksums -y | |
| - name: Set Chrome path (Linux) | |
| if: runner.os == 'Linux' | |
| run: echo "PUPPETEER_EXECUTABLE_PATH=/usr/bin/google-chrome" >> $GITHUB_ENV | |
| - name: Set Chrome path (macOS) | |
| if: runner.os == 'macOS' | |
| run: echo "PUPPETEER_EXECUTABLE_PATH=/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" >> $GITHUB_ENV | |
| - name: Set Chrome path (Windows) | |
| if: runner.os == 'Windows' | |
| run: echo "PUPPETEER_EXECUTABLE_PATH=C:/Program Files/Google/Chrome/Application/chrome.exe" >> $env:GITHUB_ENV | |
| - name: Build | |
| run: node packages/build/bin/compile-package -b | |
| - name: Run package tests | |
| run: node packages/build/bin/run-nyc node packages/build/bin/run-mocha --lang en_US.UTF-8 --reporter spec "packages/*/dist/__tests__/**/*.js" "packages/build/test/**/*.js" | |
| - name: Run extension tests | |
| run: node packages/build/bin/run-nyc node packages/build/bin/run-mocha --lang en_US.UTF-8 --reporter spec "extensions/*/dist/__tests__/**/*.js" | |
| - name: Run example tests | |
| run: node packages/build/bin/run-nyc node packages/build/bin/run-mocha --lang en_US.UTF-8 --reporter spec "examples/*/dist/__tests__/**/*.js" | |
| - name: Generate coverage report | |
| if: runner.os != 'macOS' | |
| run: node packages/build/bin/run-nyc report --reporter=lcov | |
| - name: Publish coverage report to Coveralls | |
| if: runner.os != 'macOS' | |
| uses: achrinza/coveralls-github-action@5b7bed1e2779d4ff3223e5a9ee5d03f704099258 # v2.3.8 | |
| with: | |
| flag-name: run-${{ matrix.os }}-node@${{ matrix.node-version }} | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| file: coverage/lcov.info | |
| parallel: true | |
| post-test: | |
| name: Post-Test | |
| needs: test | |
| runs-on: ubuntu-latest | |
| if: ${{ success() }} | |
| steps: | |
| - name: Coveralls finished | |
| uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b # v2.3.6 | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| parallel-finished: true | |
| test-benchmark: | |
| name: Test Benchmark | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 | |
| - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: 22.22.3 # LTS | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build | |
| run: npm run build -w "@loopback/benchmark" | |
| - name: Run benchmark tests | |
| run: npm run test --ignore-scripts -w "@loopback/benchmark" -- --reporter spec | |
| code-lint: | |
| name: Code Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 | |
| - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: 22.22.3 # LTS | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build | |
| run: node packages/build/bin/compile-package -b | |
| - name: Verify code linting | |
| run: | | |
| node packages/build/bin/run-eslint . | |
| node packages/build/bin/run-prettier --check "**/*.ts" "**/*.js" "**/*.md" "!docs/**/*.md" | |
| - name: Verify package metadata | |
| run: node bin/check-package-metadata.js | |
| commit-lint: | |
| name: Commit Lint | |
| runs-on: ubuntu-latest | |
| if: ${{ github.event.pull_request }} | |
| steps: | |
| - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: 22.22.3 # LTS | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Verify commit linting | |
| run: npx commitlint --from origin/master --to HEAD --verbose | |
| verify-docs: | |
| name: Verify Docs | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 | |
| - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: 22.22.3 # LTS | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build | |
| run: node packages/build/bin/compile-package -b | |
| - name: Verify linting | |
| run: node packages/build/bin/run-prettier --check "docs/**/*.md" | |
| - name: Verify changes | |
| run: ./bin/verify-doc-changes.sh |