|
1 | 1 | name: build |
2 | 2 |
|
3 | | -on: [push, pull_request] |
| 3 | +on: |
| 4 | + push: |
| 5 | + pull_request: |
| 6 | + schedule: |
| 7 | + - cron: "0 5 * * 1" # Every Monday at 5:00 UTC |
4 | 8 |
|
5 | 9 | jobs: |
6 | 10 |
|
7 | 11 | build: |
8 | 12 |
|
9 | 13 | strategy: |
10 | 14 | matrix: |
11 | | - virtual-environment: ['ubuntu-latest', 'windows-2025', 'ubuntu-24.04-arm'] |
12 | | - node: [16, 18, 20, 22, 24, 25] |
| 15 | + virtual-environment: [ubuntu-latest, windows-2025, ubuntu-24.04-arm] |
| 16 | + node: [16, 18, 20, 22, 24, latest] |
| 17 | + nan-version: [nan-earliest, nan-latest] |
13 | 18 | include: |
14 | | - - virtual-environment: 'macos-latest' |
| 19 | + - virtual-environment: macos-latest |
15 | 20 | node: 18 |
16 | | - - virtual-environment: 'macos-latest' |
| 21 | + - virtual-environment: macos-latest |
17 | 22 | node: 20 |
18 | | - - virtual-environment: 'macos-latest' |
| 23 | + - virtual-environment: macos-latest |
19 | 24 | node: 22 |
20 | | - - virtual-environment: 'macos-latest' |
| 25 | + - virtual-environment: macos-latest |
21 | 26 | node: 24 |
22 | | - - virtual-environment: 'macos-latest' |
| 27 | + - virtual-environment: macos-latest |
23 | 28 | node: 25 |
24 | 29 |
|
25 | 30 | runs-on: ${{ matrix.virtual-environment }} |
|
37 | 42 | with: |
38 | 43 | node-version: ${{ matrix.node }} |
39 | 44 |
|
| 45 | + - name: Install earliest nan dependency |
| 46 | + shell: bash |
| 47 | + if: matrix.nan-version == 'nan-earliest' |
| 48 | + run: | |
| 49 | + earliest_nan_version="$(npm pkg get dependencies | jq -r '.[] | ltrimstr("^")')" |
| 50 | + echo "Installing nan version $earliest_nan_version" |
| 51 | + npm install nan@"$earliest_nan_version" |
| 52 | +
|
40 | 53 | - name: Install dependencies and build |
41 | | - run: npm install |
| 54 | + run: | |
| 55 | + npm install |
| 56 | + npm explain nan |
42 | 57 |
|
43 | 58 | - name: Run linter |
44 | 59 | run: node node_modules/eslint/bin/eslint . |
|
0 commit comments