ci/cd: trigger URL checks more, and limit amount
Fix all URL checks failing in GitHub runner due to:
- Missing Happy Eyeballs in Node.js
nodejs/undici$1531
nodejs/node$41625
- Missing IPv6 support in GitHub runners:
actions/runner$3138
actions/runner-images$668
Tried (did not work):
1)
```
import dns from 'dns';
dns.setDefaultResultOrder('ipv4first');
```
2) Bumping node to v20.
3) TODO: Try autoSelectFamily
- Or is it due too to many max connections? Test this.
Mentioned in comment nodejs/node$41625.
Key changes:
- Run URL checks more frequently on every change.
- Introduce environment variable to randomly select and limit URLs
tested, this way the tests will provide quicker feedback on code
changes.
Other supporting changes:
- Log more information about test before running the test to enable
easier troubleshooting.
- Move shuffle function for arrays for reusability and missing tests.
This commit is contained in:
12
src/application/Common/Shuffle.ts
Normal file
12
src/application/Common/Shuffle.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
/*
|
||||
Shuffle an array of strings, returning a new array with elements in random order.
|
||||
Uses the Fisher-Yates (or Durstenfeld) algorithm.
|
||||
*/
|
||||
export function shuffle<T>(array: readonly T[]): T[] {
|
||||
const shuffledArray = [...array];
|
||||
for (let i = array.length - 1; i > 0; i--) {
|
||||
const j = Math.floor(Math.random() * (i + 1));
|
||||
[shuffledArray[i], shuffledArray[j]] = [shuffledArray[j], shuffledArray[i]];
|
||||
}
|
||||
return shuffledArray;
|
||||
}
|
||||
Reference in New Issue
Block a user