|
7 | 7 | workflow_dispatch: |
8 | 8 |
|
9 | 9 | jobs: |
| 10 | + setup: |
| 11 | + runs-on: ubuntu-22.04 |
| 12 | + outputs: |
| 13 | + importTests: ${{ steps.get-import-tests.outputs.tests }} |
| 14 | + ELTests: ${{ steps.get-EL-tests.outputs.tests }} |
| 15 | + otherTests: ${{ steps.get-other-tests.outputs.tests }} |
| 16 | + steps: |
| 17 | + - uses: actions/checkout@v5 |
| 18 | + - uses: actions/setup-node@v4 |
| 19 | + with: |
| 20 | + node-version: "19" |
| 21 | + - run: npm install |
| 22 | + working-directory: ./launcher |
| 23 | + - id: get-import-tests |
| 24 | + name: Get Import Tests |
| 25 | + run: echo "::set-output name=tests::$(npx jest --listTests --json | jq -cM '[.[] | select(contains(".int") and contains("Beacon")) | split("/") | .[length-1:][]] | to_entries | map({id:.key, name:.value})')" |
| 26 | + working-directory: ./launcher |
| 27 | + - id: get-EL-tests |
| 28 | + name: Get EL Tests |
| 29 | + run: echo "::set-output name=tests::$(npx jest --listTests --json | jq -cM '[.[] | select(contains(".int") and contains("Service") and (contains("Beacon") | not )) | split("/") | .[length-1:][]] | to_entries | map({id:.key, name:.value})')" |
| 30 | + working-directory: ./launcher |
| 31 | + - id: get-other-tests |
| 32 | + name: Get Other Tests |
| 33 | + run: echo "::set-output name=tests::$(npx jest --listTests --json | jq -cM '[.[] | select(contains(".int") and (contains("Service") | not )) | split("/") | .[length-1:][]] | to_entries | map({id:.key, name:.value})')" |
| 34 | + working-directory: ./launcher |
| 35 | + |
10 | 36 | Validator-Import-test: |
11 | | - runs-on: ubuntu-24.04 |
12 | | - name: Validator Import Tests |
| 37 | + runs-on: ubuntu-22.04 |
| 38 | + name: test ${{ matrix.test.name }} |
13 | 39 | needs: |
| 40 | + - setup |
14 | 41 | - Other-Integration-test |
15 | 42 | - Execution-Client-test |
| 43 | + strategy: |
| 44 | + matrix: |
| 45 | + test: ${{ fromJson(needs.setup.outputs.importTests) }} |
16 | 46 | steps: |
17 | 47 | - uses: actions/checkout@v5 |
18 | 48 | - uses: actions/setup-node@v4 |
19 | 49 | with: |
20 | | - node-version: "22" |
| 50 | + node-version: "19" |
21 | 51 | - run: npm install |
22 | 52 | working-directory: ./launcher |
23 | | - - run: npm run test:beacon |
| 53 | + - run: npm run test ${{ matrix.test.name }} |
24 | 54 | working-directory: ./launcher |
25 | 55 | env: |
26 | 56 | HCLOUD_TOKEN: ${{ secrets.HCLOUD_TOKEN }} |
27 | 57 | IS_DEV: "true" |
28 | 58 |
|
29 | 59 | Execution-Client-test: |
30 | | - runs-on: ubuntu-24.04 |
31 | | - name: Execution Client Tests |
| 60 | + runs-on: ubuntu-22.04 |
| 61 | + name: test ${{ matrix.test.name }} |
32 | 62 | needs: |
| 63 | + - setup |
33 | 64 | - Other-Integration-test |
| 65 | + strategy: |
| 66 | + matrix: |
| 67 | + test: ${{ fromJson(needs.setup.outputs.ELTests) }} |
34 | 68 | steps: |
35 | 69 | - uses: actions/checkout@v5 |
36 | 70 | - uses: actions/setup-node@v4 |
37 | 71 | with: |
38 | | - node-version: "22" |
| 72 | + node-version: "19" |
39 | 73 | - run: npm install |
40 | 74 | working-directory: ./launcher |
41 | | - - run: npm run test:service |
| 75 | + - run: npm run test ${{ matrix.test.name }} |
42 | 76 | working-directory: ./launcher |
43 | 77 | env: |
44 | 78 | HCLOUD_TOKEN: ${{ secrets.HCLOUD_TOKEN }} |
45 | 79 | IS_DEV: "true" |
46 | 80 |
|
47 | 81 | Other-Integration-test: |
48 | | - runs-on: ubuntu-24.04 |
49 | | - name: Other Integration Tests |
| 82 | + runs-on: ubuntu-22.04 |
| 83 | + name: test ${{ matrix.test.name }} |
| 84 | + needs: |
| 85 | + - setup |
| 86 | + strategy: |
| 87 | + matrix: |
| 88 | + test: ${{ fromJson(needs.setup.outputs.otherTests) }} |
50 | 89 | steps: |
51 | 90 | - uses: actions/checkout@v5 |
52 | 91 | - uses: actions/setup-node@v4 |
53 | 92 | with: |
54 | | - node-version: "22" |
| 93 | + node-version: "19" |
55 | 94 | - run: npm install |
56 | 95 | working-directory: ./launcher |
57 | | - - run: npm run test:other |
| 96 | + - run: npm run test ${{ matrix.test.name }} |
58 | 97 | working-directory: ./launcher |
59 | 98 | env: |
60 | 99 | HCLOUD_TOKEN: ${{ secrets.HCLOUD_TOKEN }} |
|
0 commit comments