5959 version : " ${{ inputs.version }}"
6060 NODE_AUTH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
6161
62- artefact-oas-spec :
63- name : " Build OAS spec (${{ matrix.apimEnv }}) "
62+ artefact-oas-spec-main :
63+ name : " Build OAS spec for main "
6464 if : (github.event_name == 'push' && github.ref == 'refs/heads/main')
6565 runs-on : ubuntu-latest
6666 needs : [artefact-jekyll-docs]
8080 nodejs_version : ${{ inputs.nodejs_version }}
8181 NODE_AUTH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
8282
83+ artefact-oas-spec-pr :
84+ name : " Build OAS spec for PR"
85+ if : (inputs.pr_number != '')
86+ runs-on : ubuntu-latest
87+ needs : [artefact-jekyll-docs]
88+ timeout-minutes : 10
89+ steps :
90+ - name : " Checkout code"
91+ uses : actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
92+ - name : " Build OAS spec"
93+ uses : ./.github/actions/build-oas-spec
94+ with :
95+ version : " ${{ inputs.version }}"
96+ apimEnv : internal-dev-pr
97+ buildSandbox : false
98+ nodejs_version : ${{ inputs.nodejs_version }}
99+ NODE_AUTH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
100+
83101 artefact-oas-spec-sandbox :
84102 name : " Build OAS spec for sandbox"
85103 runs-on : ubuntu-latest
@@ -97,9 +115,18 @@ jobs:
97115 nodejs_version : ${{ inputs.nodejs_version }}
98116 NODE_AUTH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
99117
118+ artefact-oas-spec :
119+ name : " OAS spec ready"
120+ runs-on : ubuntu-latest
121+ needs : [artefact-oas-spec-pr, artefact-oas-spec-main]
122+ if : always() && !failure()
123+ steps :
124+ - run : echo "OAS spec build complete"
125+
100126 artefact-sdks :
101127 name : " Build SDKs"
102128 runs-on : ubuntu-latest
129+ if : always() && !failure()
103130 needs : [artefact-oas-spec]
104131 timeout-minutes : 10
105132 steps :
@@ -165,8 +192,8 @@ jobs:
165192 artefact-proxies :
166193 name : " Build proxies"
167194 runs-on : ubuntu-latest
168- if : inputs.deploy_proxy == 'true'
169- needs : [artefact-oas-spec-sandbox , pr-create-dynamic-environment]
195+ if : always() && !failure() && inputs.deploy_proxy == 'true'
196+ needs : [artefact-oas-spec, pr-create-dynamic-environment]
170197 timeout-minutes : 10
171198 env :
172199 PROXYGEN_API_NAME : nhs-notify-supplier
@@ -180,7 +207,7 @@ jobs:
180207 with :
181208 version : " ${{ inputs.version }}"
182209 environment : ${{ needs.pr-create-dynamic-environment.outputs.environment_name }}
183- apimEnv : " internal-dev-sandbox "
210+ apimEnv : " ${{ inputs.pr_number == '' && ' internal-dev' || 'internal-dev-pr' }} "
184211 runId : " ${{ github.run_id }}"
185212 buildSandbox : true
186213 releaseVersion : ${{ github.head_ref || github.ref_name }}
0 commit comments