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 :
@@ -193,8 +220,8 @@ jobs:
193220 artefact-proxies :
194221 name : " Build proxies"
195222 runs-on : ubuntu-latest
196- if : inputs.deploy_proxy == 'true'
197- needs : [artefact-oas-spec-sandbox , pr-create-dynamic-environment]
223+ if : always() && !failure() && inputs.deploy_proxy == 'true'
224+ needs : [artefact-oas-spec, pr-create-dynamic-environment]
198225 timeout-minutes : 10
199226 env :
200227 PROXYGEN_API_NAME : nhs-notify-supplier
@@ -208,7 +235,7 @@ jobs:
208235 with :
209236 version : " ${{ inputs.version }}"
210237 environment : ${{ needs.pr-create-dynamic-environment.outputs.environment_name }}
211- apimEnv : " internal-dev-sandbox "
238+ apimEnv : " ${{ inputs.pr_number == '' && ' internal-dev' || 'internal-dev-pr' }} "
212239 runId : " ${{ github.run_id }}"
213240 buildSandbox : true
214241 releaseVersion : ${{ github.head_ref || github.ref_name }}
0 commit comments