|
32 | 32 | required: true |
33 | 33 | type: string |
34 | 34 |
|
| 35 | +env: |
| 36 | + AWS_REGION: eu-west-2 |
| 37 | + TERM: xterm-256color |
| 38 | + |
| 39 | +permissions: |
| 40 | + id-token: write # This is required for requesting the JWT |
| 41 | + contents: read # This is required for actions/checkout |
| 42 | + |
35 | 43 | jobs: |
| 44 | + check-generated-dependencies: |
| 45 | + name: "Check generated dependencies" |
| 46 | + runs-on: ubuntu-latest |
| 47 | + timeout-minutes: 5 |
| 48 | + steps: |
| 49 | + - name: "Checkout code" |
| 50 | + uses: actions/checkout@v4 |
| 51 | + - name: "Repo setup" |
| 52 | + run: | |
| 53 | + npm ci |
| 54 | + - name: "Generate dependencies" |
| 55 | + run: | |
| 56 | + npm run generate-dependencies --workspaces --if-present |
| 57 | + git diff --exit-code |
36 | 58 | test-unit: |
37 | 59 | name: "Unit tests" |
38 | 60 | runs-on: ubuntu-latest |
39 | 61 | timeout-minutes: 5 |
40 | 62 | steps: |
41 | 63 | - name: "Checkout code" |
42 | 64 | uses: actions/checkout@v4 |
| 65 | + - name: "Repo setup" |
| 66 | + run: | |
| 67 | + npm ci |
| 68 | + - name: "Generate dependencies" |
| 69 | + run: | |
| 70 | + npm run generate-dependencies --workspaces --if-present |
43 | 71 | - name: "Run unit test suite" |
44 | 72 | run: | |
45 | 73 | make test-unit |
46 | 74 | - name: "Save the result of fast test suite" |
47 | | - run: | |
48 | | - echo "Nothing to save" |
| 75 | + uses: actions/upload-artifact@v4 |
| 76 | + with: |
| 77 | + name: unit-tests |
| 78 | + path: "**/.reports/unit" |
| 79 | + include-hidden-files: true |
| 80 | + if: always() |
| 81 | + - name: "Save the result of code coverage" |
| 82 | + uses: actions/upload-artifact@v4 |
| 83 | + with: |
| 84 | + name: code-coverage-report |
| 85 | + path: ".reports/lcov.info" |
49 | 86 | test-lint: |
50 | 87 | name: "Linting" |
51 | 88 | runs-on: ubuntu-latest |
52 | 89 | timeout-minutes: 5 |
53 | 90 | steps: |
54 | 91 | - name: "Checkout code" |
55 | 92 | uses: actions/checkout@v4 |
| 93 | + - name: "Repo setup" |
| 94 | + run: | |
| 95 | + npm ci |
| 96 | + - name: "Generate dependencies" |
| 97 | + run: | |
| 98 | + npm run generate-dependencies --workspaces --if-present |
56 | 99 | - name: "Run linting" |
57 | 100 | run: | |
58 | 101 | make test-lint |
59 | | - - name: "Save the linting result" |
| 102 | + test-typecheck: |
| 103 | + name: "Typecheck" |
| 104 | + runs-on: ubuntu-latest |
| 105 | + timeout-minutes: 5 |
| 106 | + steps: |
| 107 | + - name: "Checkout code" |
| 108 | + uses: actions/checkout@v4 |
| 109 | + - name: "Repo setup" |
60 | 110 | run: | |
61 | | - echo "Nothing to save" |
| 111 | + npm ci |
| 112 | + - name: "Generate dependencies" |
| 113 | + run: | |
| 114 | + npm run generate-dependencies --workspaces --if-present |
| 115 | + - name: "Run typecheck" |
| 116 | + run: | |
| 117 | + make test-typecheck |
62 | 118 | test-coverage: |
63 | 119 | name: "Test coverage" |
64 | 120 | needs: [test-unit] |
@@ -86,6 +142,10 @@ jobs: |
86 | 142 | uses: actions/checkout@v4 |
87 | 143 | with: |
88 | 144 | fetch-depth: 0 # Full history is needed to improving relevancy of reporting |
| 145 | + - name: "Download coverage report for SONAR" |
| 146 | + uses: actions/download-artifact@v4 |
| 147 | + with: |
| 148 | + name: code-coverage-report |
89 | 149 | - name: "Perform static analysis" |
90 | 150 | uses: ./.github/actions/perform-static-analysis |
91 | 151 | with: |
|
0 commit comments