@@ -58,10 +58,10 @@ jobs:
5858 restore-keys : |
5959 ${{ runner.os }}-node-${{ inputs.nodejs_version }}-
6060 - name : " Repo setup"
61- env :
62- NODE_AUTH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
63- run : |
64- npm ci
61+ uses : ./.github/actions/node-install
62+ with :
63+ node-version : ${{ inputs.nodejs_version }}
64+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
6565 - name : " Generate dependencies"
6666 run : |
6767 npm run generate-dependencies --workspaces --if-present
@@ -82,10 +82,10 @@ jobs:
8282 restore-keys : |
8383 ${{ runner.os }}-node-${{ inputs.nodejs_version }}-
8484 - name : " Repo setup"
85- env :
86- NODE_AUTH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
87- run : |
88- npm ci
85+ uses : ./.github/actions/node-install
86+ with :
87+ node-version : ${{ inputs.nodejs_version }}
88+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
8989 - name : " Generate dependencies"
9090 run : |
9191 npm run generate-dependencies --workspaces --if-present
@@ -104,6 +104,37 @@ jobs:
104104 with :
105105 name : code-coverage-report
106106 path : " .reports/lcov.info"
107+ test-pact :
108+ name : " Pact tests"
109+ runs-on : ubuntu-latest
110+ timeout-minutes : 5
111+ env :
112+ NODE_AUTH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
113+ permissions :
114+ packages : write
115+ contents : read
116+ steps :
117+ - name : " Checkout code"
118+ uses : actions/checkout@v5
119+ - name : " Cache node_modules"
120+ uses : actions/cache@v4
121+ with :
122+ path : |
123+ **/node_modules
124+ key : ${{ runner.os }}-node-${{ inputs.nodejs_version }}-${{ hashFiles('**/package-lock.json') }}
125+ restore-keys : |
126+ ${{ runner.os }}-node-${{ inputs.nodejs_version }}-
127+ - name : " Repo setup"
128+ uses : ./.github/actions/node-install
129+ with :
130+ node-version : ${{ inputs.nodejs_version }}
131+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
132+ - name : " Generate dependencies"
133+ run : npm run generate-dependencies --workspaces --if-present
134+ - name : " Run PACT tests"
135+ run : npm run test:pact --workspace tests
136+ - name : Publish Pact Contracts
137+ run : ./scripts/publish-pact-contracts.sh
107138 test-lint :
108139 name : " Linting"
109140 runs-on : ubuntu-latest
@@ -120,10 +151,10 @@ jobs:
120151 restore-keys : |
121152 ${{ runner.os }}-node-${{ inputs.nodejs_version }}-
122153 - name : " Repo setup"
123- env :
124- NODE_AUTH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
125- run : |
126- npm ci
154+ uses : ./.github/actions/node-install
155+ with :
156+ node-version : ${{ inputs.nodejs_version }}
157+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
127158 - name : " Generate dependencies"
128159 run : |
129160 npm run generate-dependencies --workspaces --if-present
@@ -146,10 +177,10 @@ jobs:
146177 restore-keys : |
147178 ${{ runner.os }}-node-${{ inputs.nodejs_version }}-
148179 - name : " Repo setup"
149- env :
150- NODE_AUTH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
151- run : |
152- npm ci
180+ uses : ./.github/actions/node-install
181+ with :
182+ node-version : ${{ inputs.nodejs_version }}
183+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
153184 - name : " Generate dependencies"
154185 run : |
155186 npm run generate-dependencies --workspaces --if-present
0 commit comments