Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
e5cfae1
script
Namitha-Prabhu Nov 3, 2025
b2ff7a7
CCM-12180: acceptance stage internal invoke
masl2 Nov 3, 2025
d12ba18
CCM-12180: correct infraRepo name param
masl2 Nov 7, 2025
c5e8b1c
CCM-12591 example letter test data (#223)
masl2 Nov 4, 2025
266d1c0
CCM-12921: add proxy to destroy dynamic (#228)
masl2 Nov 5, 2025
dc0b861
CCM-12352: letter-status event schemas (#197)
m-houston Nov 5, 2025
9846ea6
CCM-12523 - Updates after APIM Review (#205)
nhsd-david-wass Nov 6, 2025
476aa99
CCM-12180: add override project and role
masl2 Nov 7, 2025
e9a53a8
CCM-12180: override project
masl2 Nov 10, 2025
07bd161
CCM-12180: remove callerId param
masl2 Nov 10, 2025
c2d029c
fix tests
Namitha-Prabhu Nov 12, 2025
7b0a29c
remove generate-output
Namitha-Prabhu Nov 12, 2025
4ff2de3
CCM-12357: Add environment-specific selection of security schemes (#232)
m-houston Nov 11, 2025
91f3c41
Combined Dependabot PRs (#233)
github-actions[bot] Nov 11, 2025
aca4deb
tests
Namitha-Prabhu Nov 19, 2025
5158e2a
CCM-12590 - Update failure reason code to string (#234)
nhsd-david-wass Nov 17, 2025
8369ca1
CCM-12746: Supplier MI event schemas (#245)
m-houston Nov 17, 2025
54ba9f4
Add post letters endpoint (#231)
francisco-videira-nhs Nov 18, 2025
4ea06a7
CCM-13160 add sapiadmins to infra owners (#254)
masl2 Nov 18, 2025
cf3af03
Authoriser lambda (#230)
stevebux Nov 19, 2025
5daa206
CCM-12915: Async Patch (#251)
francisco-videira-nhs Nov 19, 2025
2389655
CCM-12649 Get Status healthcheck endpoint (#206)
stevebux Nov 19, 2025
b9de589
CCM-12995 adding event pub infra (#240)
aidenvaines-cgi Nov 19, 2025
bcdf4a5
Remove internal helpers dependency from events package (#256)
m-houston Nov 19, 2025
053ef59
Fix reference to test-contract make target (#257)
m-houston Nov 19, 2025
a18062b
CCM-11971: Move PR Created Workflow before Acceptance Tests (#259)
jamesthompson26-nhs Nov 19, 2025
5d71dc2
CCM-12075 - Added JWT Bearer token script, instructions and fix for r…
nhsd-david-wass Nov 20, 2025
ba2da9e
CCM-13152 - Upgrade redocly and fix example files (#252)
nhsd-david-wass Nov 20, 2025
98892e4
CCM-12983 - Corrected int target attributes (#258)
nhsd-david-wass Nov 20, 2025
02145e0
merge
Namitha-Prabhu Nov 22, 2025
565a26f
merge
Namitha-Prabhu Dec 3, 2025
5070008
wrapper to produce a 2505 set of test letters (#269)
masl2 Nov 24, 2025
f47aba6
CCM-13009: update docs (#265)
masl2 Nov 24, 2025
55594dc
Feature/ccm 13194 lint internal (#271)
masl2 Nov 26, 2025
4eb96be
CCM-13280: Add missing authorization header (#273)
masl2 Nov 27, 2025
cf27346
Revert "CCM-13280: Add missing authorization header (#273)" (#276)
masl2 Nov 27, 2025
1352640
Add missing authorization header (#277)
masl2 Dec 3, 2025
84275d9
CCM-13178: Remove ddb locking for terraform (#279)
sidnhs Dec 3, 2025
fde67f6
tests
Namitha-Prabhu Dec 5, 2025
c0fd135
fix unit tests
Namitha-Prabhu Dec 5, 2025
7b48143
fix unit tests
Namitha-Prabhu Dec 5, 2025
30d1cff
fix unit tests
Namitha-Prabhu Dec 5, 2025
3365937
lint fixes
Namitha-Prabhu Dec 8, 2025
50449a5
lint fixes
Namitha-Prabhu Dec 8, 2025
f46d3d6
CCM-13194:lint lambdas (#278)
masl2 Dec 4, 2025
5baf226
CCM-10160 minor fixes to workflows and precommits (#157)
aidenvaines-cgi Dec 4, 2025
5eaa643
relax default export for lambdas (#283)
masl2 Dec 4, 2025
2e15217
return export mechanism (#287)
masl2 Dec 5, 2025
94aea66
CCM-13451: Letter Updates SQS Queue Policy Dependency Fix (#282)
sidnhs Dec 5, 2025
88ff5a9
CCM-13451: Remove unneeded inputs from pr closed and release workflow…
sidnhs Dec 5, 2025
38c7280
Fix NPM access to packages in GitHub package registry (#285)
m-houston Dec 5, 2025
e1eb9be
Add NODE_AUTH_TOKEN to check-version step in pr_closed.yaml (#289)
m-houston Dec 5, 2025
c5f3322
dependencies
masl2 Dec 8, 2025
b3f9cd4
fix jest configurations
masl2 Dec 8, 2025
1bdd0a5
event package version
masl2 Dec 8, 2025
613bb03
remove duplicate variable defs
masl2 Dec 8, 2025
af93d6e
remove test archive
Namitha-Prabhu Dec 9, 2025
a0e3496
suppress test data false positive
masl2 Dec 9, 2025
8462369
imports
Namitha-Prabhu Dec 10, 2025
6b73bb1
checks for supplier data
Namitha-Prabhu Dec 10, 2025
a35a2ff
CCM-13191: Root Level AgentsMD (#297)
jamesthompson26-nhs Dec 10, 2025
ee0077b
tests
Namitha-Prabhu Dec 10, 2025
0edec05
CCM-12673 - Make PR proxies temporary (#286)
nhsd-david-wass Dec 11, 2025
8366cfb
Feature/ccm 12937- publish supplier letter events (#274)
stevebux Dec 11, 2025
68cdba3
Regenerate broken package-lock.json (#302)
stevebux Dec 11, 2025
918f3da
version
Namitha-Prabhu Dec 11, 2025
b1bda50
lock file
Namitha-Prabhu Dec 11, 2025
fabe16a
lock file
Namitha-Prabhu Dec 11, 2025
885c72f
fix
Namitha-Prabhu Dec 11, 2025
b405479
fix
Namitha-Prabhu Dec 11, 2025
faa0d8c
fix
Namitha-Prabhu Dec 11, 2025
f102e19
update test to reflect version
masl2 Dec 12, 2025
1ccd8ca
package lock
masl2 Dec 12, 2025
a0866c3
replace js-yaml with yaml
masl2 Dec 12, 2025
951f001
downgrade yargs due to y18n dep
masl2 Dec 12, 2025
5f68830
missing deps
masl2 Dec 12, 2025
f28530e
update versions
Namitha-Prabhu Dec 15, 2025
4ad6084
update versions
Namitha-Prabhu Dec 15, 2025
81b78e2
fetch env variable
Namitha-Prabhu Dec 15, 2025
f0f239d
fetch env variable
Namitha-Prabhu Dec 15, 2025
f3b166f
PR number
Namitha-Prabhu Dec 15, 2025
394083d
PR number
Namitha-Prabhu Dec 15, 2025
2c7d841
add flag for execute endpoint
masl2 Dec 15, 2025
041b928
default lambda timeouts to 29secs (#306)
masl2 Dec 15, 2025
6eb413f
CCM-13298: PR Closed Destroy (#308)
sidnhs Dec 16, 2025
debc75a
CCM-13038: LetterRequestPrepared PACT tests (#296)
bhansell1 Dec 18, 2025
240ddc6
add suppression (#315)
masl2 Dec 18, 2025
f2a3ea7
CCM-13554 - APIM Errors not serializing (#300)
nhsd-david-wass Dec 19, 2025
40b71ae
CCM-13419 Generate Specification Variants on Build (#301)
stevebux Dec 19, 2025
175c668
Revert "CCM-13419 Generate Specification Variants on Build (#301)" (#…
stevebux Dec 19, 2025
991e3e5
trivy job setup of node for nhs packages
masl2 Dec 19, 2025
2e7fae9
lock
masl2 Dec 19, 2025
0b25255
lock
masl2 Dec 19, 2025
e2a260a
verbose log level
masl2 Dec 19, 2025
243c2a0
try node setup and token env
masl2 Dec 19, 2025
8a34506
node setup
masl2 Dec 22, 2025
8b58847
acceptance deps
masl2 Dec 22, 2025
d469a0b
acceptance deps
masl2 Dec 22, 2025
ae547c7
another go
masl2 Dec 22, 2025
9462a11
another go
masl2 Dec 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -67,3 +67,9 @@ trim_trailing_whitespace = unset
indent_style = unset
indent_size = unset
generated_code = true

[/internal/events/**/*.schema.json]
insert_final_newline = unset

[/pact-contracts/pacts/**/*.json]
insert_final_newline = unset
5 changes: 5 additions & 0 deletions .env.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
ENVIRONMENT=$ENV_NAME
API_KEY=
HEADERAUTH=
PR_NUMBER=prxx # remove if needs to run against main
NHSD_APIM_TOKEN=
5 changes: 4 additions & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@
/.github/ @NHSDigital/nhs-notify-supplier-api-admins
*.code-workspace @NHSDigital/nhs-notify-supplier-api-admins
/docs/ @NHSDigital/nhs-notify-supplier-api
/infrastructure/terraform/ @NHSDigital/nhs-notify-platform
/infrastructure/terraform/ @NHSDigital/nhs-notify-platform @NHSDigital/nhs-notify-supplier-api-admins

# Root level AGENTS.md owned by platform.
AGENTS.md @NHSDigital/nhs-notify-platform

# Codeowners must be final check
/.github/CODEOWNERS @NHSDigital/nhs-notify-code-owners
Expand Down
51 changes: 51 additions & 0 deletions .github/actions/acceptance-tests/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Acceptance tests
description: "Run acceptance tests for this repo"

inputs:
testType:
description: Type of test to run
required: true

targetEnvironment:
description: Name of the environment under test
required: true

targetAccountGroup:
description: Name of the account group under test
default: nhs-notify-template-management-dev
required: true

targetComponent:
description: Name of the component under test
required: true

runs:
using: "composite"

steps:
- name: Fetch terraform output
uses: actions/download-artifact@v5
with:
name: terraform-output-${{ inputs.targetComponent }}

- name: Get Node version
id: nodejs_version
shell: bash
run: |
echo "nodejs_version=$(grep "^nodejs\s" .tool-versions | cut -f2 -d' ')" >> $GITHUB_OUTPUT

- name: "Repo setup"
uses: ./.github/actions/node-install
with:
node-version: ${{ steps.nodejs_version.outputs.nodejs_version }}
GITHUB_TOKEN: ${{ env.GITHUB_TOKEN }}

- name: "Set PR NUMBER"
shell: bash
run: |
echo "PR_NUMBER=${{ inputs.targetEnvironment }}" >> $GITHUB_ENV

- name: Run test - ${{ inputs.testType }}
shell: bash
run: |
make test-${{ inputs.testType }}
8 changes: 7 additions & 1 deletion .github/actions/build-docs/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,22 @@ inputs:
version:
description: "Version number"
required: true
NODE_AUTH_TOKEN:
description: "Token for access to github package registry"
required: true
runs:
using: "composite"
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
node-version: 22
registry-url: 'https://npm.pkg.github.com'
- name: Npm cli install
working-directory: .
env:
NODE_AUTH_TOKEN: ${{ inputs.NODE_AUTH_TOKEN }}
run: npm ci
shell: bash
- name: Setup Ruby
Expand Down
8 changes: 7 additions & 1 deletion .github/actions/build-libraries/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,23 @@ inputs:
version:
description: "Version number"
required: true
NODE_AUTH_TOKEN:
description: "Token for access to github package registry"
required: true
runs:
using: "composite"
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
node-version: 22
registry-url: 'https://npm.pkg.github.com'

- name: Npm install
working-directory: .
env:
NODE_AUTH_TOKEN: ${{ inputs.NODE_AUTH_TOKEN }}
run: npm ci
shell: bash

Expand Down
20 changes: 19 additions & 1 deletion .github/actions/build-proxies/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,12 @@ inputs:
description: "Name of the Component to deploy"
required: true
default: 'api'
nodejs_version:
description: "Node.js version, set by the CI/CD pipeline workflow"
required: true
NODE_AUTH_TOKEN:
description: "Token for access to github package registry"
required: true

runs:
using: composite
Expand All @@ -34,10 +40,22 @@ runs:
uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
node-version: ${{ inputs.nodejs_version }}
registry-url: 'https://npm.pkg.github.com'

- name: "Cache node_modules"
uses: actions/cache@v4
with:
path: |
**/node_modules
key: ${{ runner.os }}-node-${{ inputs.nodejs_version }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-${{ inputs.nodejs_version }}-

- name: Npm install
working-directory: .
env:
NODE_AUTH_TOKEN: ${{ inputs.NODE_AUTH_TOKEN }}
run: npm ci
shell: bash

Expand Down
9 changes: 8 additions & 1 deletion .github/actions/build-sandbox/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ inputs:
version:
description: "Version number"
required: true

NODE_AUTH_TOKEN:
description: "Token for access to github package registry"
required: true
runs:
using: composite

Expand All @@ -12,10 +16,13 @@ runs:
uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
node-version: 22
registry-url: 'https://npm.pkg.github.com'

- name: Npm install
working-directory: .
env:
NODE_AUTH_TOKEN: ${{ inputs.NODE_AUTH_TOKEN }}
run: npm ci
shell: bash

Expand Down
8 changes: 7 additions & 1 deletion .github/actions/build-sdk/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,23 @@ inputs:
version:
description: "Version number"
required: true
NODE_AUTH_TOKEN:
description: "Token for access to github package registry"
required: true
runs:
using: "composite"
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
node-version: 22
registry-url: 'https://npm.pkg.github.com'

- name: Npm install
working-directory: .
env:
NODE_AUTH_TOKEN: ${{ inputs.NODE_AUTH_TOKEN }}
run: npm ci
shell: bash

Expand Down
8 changes: 7 additions & 1 deletion .github/actions/build-server/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,23 @@ inputs:
version:
description: "Version number"
required: true
NODE_AUTH_TOKEN:
description: "Token for access to github package registry"
required: true
runs:
using: "composite"
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
node-version: 22
registry-url: 'https://npm.pkg.github.com'

- name: Npm install
working-directory: .
env:
NODE_AUTH_TOKEN: ${{ inputs.NODE_AUTH_TOKEN }}
run: npm ci
shell: bash

Expand Down
27 changes: 27 additions & 0 deletions .github/actions/node-install/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: 'npm install and setup'
description: 'Setup node, authenticate github package repository and perform clean npm install'

inputs:
node-version:
description: 'Node.js version'
required: true
GITHUB_TOKEN:
description: "Token for access to github package registry"
required: true

runs:
using: 'composite'
steps:
- name: 'Use Node.js'
uses: actions/setup-node@v6
with:
node-version: '${{ inputs.node-version }}'
registry-url: 'https://npm.pkg.github.com'
scope: '@nhsdigital'

- name: 'Install dependencies'
shell: bash
env:
NODE_AUTH_TOKEN: ${{ inputs.GITHUB_TOKEN }}
run: |
npm ci
3 changes: 3 additions & 0 deletions .github/actions/test-types.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[
"component"
]
6 changes: 5 additions & 1 deletion .github/workflows/manual-proxy-environment-deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ on:

permissions:
contents: read
packages: read

jobs:
deploy-environment:
Expand All @@ -32,10 +33,12 @@ jobs:

- uses: actions/setup-node@v6
with:
node-version: 24
node-version: 22

- name: Npm install
working-directory: .
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npm ci
shell: bash

Expand Down Expand Up @@ -87,3 +90,4 @@ jobs:
runId: "${{ github.run_id }}"
buildSandbox: ${{ inputs.build_sandbox }}
releaseVersion: ${{ github.ref_name }}
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
95 changes: 95 additions & 0 deletions .github/workflows/pr_closed.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,98 @@ jobs:
--targetAccountGroup "nhs-notify-supplier-api-dev" \
--targetComponent "${{ matrix.component }}" \
--terraformAction "apply"

check-event-schemas-version-change:
name: Check for event schemas package version change
needs: check-merge-or-workflow-dispatch
if: needs.check-merge-or-workflow-dispatch.outputs.deploy == 'true'
outputs:
version_changed: ${{ steps.check-version.outputs.version_changed }}
runs-on: ubuntu-latest
permissions:
contents: read
packages: read
steps:
- name: Checkout code
uses: actions/checkout@v5.0.0

- name: Setup NodeJS
uses: actions/setup-node@v4
with:
node-version: ${{ inputs.nodejs_version }}
registry-url: 'https://npm.pkg.github.com'

- name: check if local version differs from latest published version
id: check-version
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
published_version=$(npm view @nhsdigital/nhs-notify-event-schemas-supplier-api --json 2>/dev/null | jq -r '.["dist-tags"].latest // "null"')
echo "Published version: $published_version"

local_version=$(jq -r '.version' internal/events/package.json)
echo "Local version: $local_version"

if [[ $local_version = $published_version ]]; then
echo "Local version is the same as the latest published version - skipping publish"
echo "version_changed=false" >> $GITHUB_OUTPUT
else
echo "Local version is different to the latest published version - publishing new version"
echo "version_changed=true" >> $GITHUB_OUTPUT
fi

test-contract:
name: "Test contracts (provider)"
needs: check-event-schemas-version-change
if: needs.check-event-schemas-version-change.outputs.version_changed == 'true'
runs-on: ubuntu-latest
permissions:
contents: read
packages: read
steps:
- name: "Checkout code"
uses: actions/checkout@v5.0.0
- name: Setup NodeJS
uses: actions/setup-node@v4
with:
node-version: ${{ inputs.nodejs_version }}
registry-url: 'https://npm.pkg.github.com'
- name: "Install dependencies"
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npm ci
- name: "Run provider contract tests"
run: make test-contract
env:
GITHUB_PACKAGES_TOKEN: ${{ secrets.GITHUB_TOKEN }}

publish-event-schemas:
name: Publish event schemas package to GitHub package registry
needs:
- check-event-schemas-version-change
- test-contract
if: needs.check-event-schemas-version-change.outputs.version_changed == 'true'
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
- name: Checkout code
uses: actions/checkout@v5.0.0

- name: Setup NodeJS
uses: actions/setup-node@v4
with:
node-version: ${{ inputs.nodejs_version }}
registry-url: 'https://npm.pkg.github.com'

- name: Install dependencies
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npm ci

- name: Publish to GitHub Packages
run: npm publish --workspace internal/events
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading
Loading