|
85 | 85 | runs-on: ${{ matrix.runs-on }} |
86 | 86 | no-wasm-simd: '1' |
87 | 87 | secrets: inherit |
88 | | - |
| 88 | + |
89 | 89 | test-without-intl: |
90 | 90 | name: Test with Node.js ${{ matrix.node-version }} compiled --without-intl |
91 | 91 | strategy: |
@@ -172,6 +172,92 @@ jobs: |
172 | 172 | - name: Run tests |
173 | 173 | run: npm run test:javascript:without-intl |
174 | 174 |
|
| 175 | + test-without-ssl: |
| 176 | + name: Test with Node.js ${{ matrix.node-version }} compiled --without-ssl |
| 177 | + strategy: |
| 178 | + fail-fast: false |
| 179 | + max-parallel: 0 |
| 180 | + matrix: |
| 181 | + node-version: ['20', '22', '24', '25'] |
| 182 | + runs-on: ubuntu-latest |
| 183 | + timeout-minutes: 120 |
| 184 | + steps: |
| 185 | + - name: Checkout Repository |
| 186 | + uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 |
| 187 | + with: |
| 188 | + persist-credentials: false |
| 189 | + submodules: recursive |
| 190 | + |
| 191 | + # Setup node, install deps, and build undici prior to building icu-less node and testing |
| 192 | + - name: Setup Node.js@${{ matrix.node-version }} |
| 193 | + uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0 |
| 194 | + with: |
| 195 | + node-version: ${{ matrix.node-version }} |
| 196 | + |
| 197 | + - name: Install dependencies |
| 198 | + run: npm install |
| 199 | + |
| 200 | + - name: Build undici |
| 201 | + run: npm run build:node |
| 202 | + |
| 203 | + - name: Determine latest release |
| 204 | + id: release |
| 205 | + uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 |
| 206 | + with: |
| 207 | + result-encoding: string |
| 208 | + script: | |
| 209 | + const req = await fetch('https://nodejs.org/download/release/index.json') |
| 210 | + const releases = await req.json() |
| 211 | +
|
| 212 | + const latest = releases.find((r) => r.version.startsWith('v${{ matrix.node-version }}')) |
| 213 | + return latest.version |
| 214 | +
|
| 215 | + - name: Download and extract source |
| 216 | + run: curl https://nodejs.org/download/release/${{ steps.release.outputs.result }}/node-${{ steps.release.outputs.result }}.tar.xz | tar xfJ - |
| 217 | + |
| 218 | + - name: Install ninja |
| 219 | + run: sudo apt-get install ninja-build |
| 220 | + |
| 221 | + - name: ccache |
| 222 | + uses: hendrikmuhs/ccache-action@bfa03e1de4d7f7c3e80ad9109feedd05c4f5a716 #v1.2.19 |
| 223 | + with: |
| 224 | + key: node${{ matrix.node-version }} |
| 225 | + |
| 226 | + - name: Build node |
| 227 | + working-directory: ./node-${{ steps.release.outputs.result }} |
| 228 | + run: | |
| 229 | + export CC="ccache gcc" |
| 230 | + export CXX="ccache g++" |
| 231 | + ./configure --without-ssl --ninja --prefix=./final |
| 232 | + make |
| 233 | + make install |
| 234 | + echo "$(pwd)/final/bin" >> $GITHUB_PATH |
| 235 | +
|
| 236 | + - name: Print version information |
| 237 | + run: | |
| 238 | + echo OS: $(node -p "os.version()") |
| 239 | + echo Node.js: $(node --version) |
| 240 | + echo "Node.js built-in dependencies: $(node -p "'\r\n' + (Object.entries(process.versions).map(([k, v], i, arr) => (i !== arr.length - 1 ? '├──' : '└──') + k + '@' + v)).join('\r\n')")" |
| 241 | + echo npm: $(npm --version) |
| 242 | + echo git: $(git --version) |
| 243 | + echo icu config: $(node -e "console.log(process.config)" | grep icu) |
| 244 | +
|
| 245 | + - name: Configure hosts file for WPT (Windows) |
| 246 | + if: runner.os == 'Windows' |
| 247 | + run: | |
| 248 | + cd ${{ github.workspace }}\test\web-platform-tests\wpt |
| 249 | + python wpt make-hosts-file | Out-File $env:SystemRoot\System32\drivers\etc\hosts -Encoding ascii -Append |
| 250 | + shell: powershell |
| 251 | + |
| 252 | + - name: Configure hosts file for WPT (Unix) |
| 253 | + if: runner.os != 'Windows' |
| 254 | + run: | |
| 255 | + cd ${{ github.workspace }}/test/web-platform-tests/wpt |
| 256 | + python3 wpt make-hosts-file | sudo tee -a /etc/hosts |
| 257 | +
|
| 258 | + - name: Run tests |
| 259 | + run: npm run test:javascript:without-intl |
| 260 | + |
175 | 261 | test-fuzzing: |
176 | 262 | name: Fuzzing |
177 | 263 | runs-on: ubuntu-latest |
|
0 commit comments