Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
41204c1
Bump aiohttp from 3.10.2 to 3.10.11
dependabot[bot] Nov 18, 2024
1efca7b
Update package mode
jameslinnell Dec 15, 2025
b51cb0a
Set python project version in azure
jameslinnell Dec 15, 2025
751023c
Update Azure to use python 3.8
jameslinnell Dec 15, 2025
dda4830
Use python 3.8 on build
jameslinnell Dec 15, 2025
a813780
Hard code build to use python 3.8
jameslinnell Dec 15, 2025
7848829
python v3.8 on build
jameslinnell Dec 15, 2025
5741353
Add python_version
jameslinnell Dec 15, 2025
3a8dfd5
Add python_version to template
jameslinnell Dec 15, 2025
3058f6c
default python 3.8
jameslinnell Dec 15, 2025
b3615a1
pyproject to use 3.8
jameslinnell Dec 15, 2025
597918b
Cache python 3.8
jameslinnell Dec 15, 2025
c5a45bc
use python version override
jameslinnell Dec 15, 2025
29d8d58
Maybe this time it will work
jameslinnell Dec 15, 2025
ad48db1
Does this work
jameslinnell Dec 15, 2025
79f048d
Use local apigee-build
jameslinnell Dec 15, 2025
a34a111
get tag as 3.8 is not supported
jameslinnell Dec 15, 2025
7f26c63
Better jq
jameslinnell Dec 15, 2025
d926c90
Perhaps this fixes it.
jameslinnell Dec 15, 2025
d7e03f8
Hard code python version
jameslinnell Dec 15, 2025
653ea4b
Remove second setting of LD_LIBRARY_PATH
jameslinnell Dec 15, 2025
f331f21
Output python version on spec compile
jameslinnell Dec 15, 2025
2363826
Use python 3.8
jameslinnell Dec 16, 2025
dfdbed8
Update python in run-tests
jameslinnell Dec 16, 2025
b40f1eb
Remove python version form pr pipeline
jameslinnell Dec 16, 2025
424633f
removed uwanted vars
sathiya-nhs Dec 16, 2025
2372906
Merge remote-tracking branch 'origin/dependabot/pip/aiohttp-3.10.11' …
jameslinnell Dec 19, 2025
f20a2be
README change
jameslinnell Mar 9, 2026
4e45c8a
Merge branch 'release/2025-12-15' of https://github.com/NHSDigital/sp…
sathiya-nhs Mar 10, 2026
96afa57
set project python to 3.8
sathiya-nhs Mar 10, 2026
7630dda
remove unwanted python extensions
sathiya-nhs Mar 10, 2026
136431a
update poetry file
sathiya-nhs Mar 10, 2026
f755269
update pipeline to install poetry during runtime
sathiya-nhs Mar 10, 2026
96aa1e7
cleanup
sathiya-nhs Mar 10, 2026
ecabfc7
README change
jameslinnell Mar 11, 2026
7af8c17
Runner ubuntu version upgrade
jameslinnell Mar 11, 2026
e223ce8
Update actions
jameslinnell Mar 11, 2026
d91f3d7
Sonar cloud fixes
jameslinnell Mar 11, 2026
d843fe0
SonarCloud
jameslinnell Mar 11, 2026
82b8c55
Sonar cloud
jameslinnell Mar 11, 2026
6544c34
Sonar cloud
jameslinnell Mar 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ on: push
jobs:
build:
name: build
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
fetch-depth: 0 # This causes all history to be fetched, which is required for calculate-version to function

- name: Install Python 3.8
uses: actions/setup-python@v1
uses: actions/setup-python@v5
with:
python-version: 3.8

Expand Down Expand Up @@ -51,9 +51,9 @@ jobs:
run: make install

- name: Set SPEC_VERSION env var
run: echo ::set-env name=SPEC_VERSION::$(poetry run python scripts/calculate_version.py)
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
run: |
SPEC_VERSION=$(poetry run python scripts/calculate_version.py)
echo "SPEC_VERSION=$SPEC_VERSION" >> "$GITHUB_ENV"

- name: Create release (master only)
id: create-release
Expand Down
29 changes: 23 additions & 6 deletions .github/workflows/pr-lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,30 @@ name: PR Quality Check
on: pull_request
jobs:
link-ticket:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
defaults:
run:
shell: bash
steps:
- name: Check ticket name conforms to requirements
run: echo ${{ github.event.pull_request.head.ref }} | grep -i -E -q "((apm|niad|AMB|PI|amp)-[0-9]+)|(dependabot\/)|(release\/)"
if: >
!(
contains(github.event.pull_request.head.ref, 'dependabot/') ||
contains(github.event.pull_request.head.ref, 'release/') ||
contains(github.event.pull_request.head.ref, 'apm-') ||
contains(github.event.pull_request.head.ref, 'APM-') ||
contains(github.event.pull_request.head.ref, 'niad-') ||
contains(github.event.pull_request.head.ref, 'NIAD-') ||
contains(github.event.pull_request.head.ref, 'amb-') ||
contains(github.event.pull_request.head.ref, 'amp-') ||
contains(github.event.pull_request.head.ref, 'pi-') ||
contains(github.event.pull_request.head.ref, 'AMB-') ||
contains(github.event.pull_request.head.ref, 'AMP-') ||
contains(github.event.pull_request.head.ref, 'PI-')
)
run: |
echo "Branch name must contain a ticket (APM-123, NIAD-123, PI-123, etc)"
exit 1

- name: Grab ticket name
if: |
Expand All @@ -19,10 +36,10 @@ jobs:
contains(github.event.pull_request.head.ref, 'AMB-') ||
contains(github.event.pull_request.head.ref, 'AMP-') ||
contains(github.event.pull_request.head.ref, 'PI-')
run: |
echo "TICKET_NAME=$(echo ${{ github.event.pull_request.head.ref }} | grep -i -o '\(apm\|niad\|pi\)-[0-9]\+' | tr '[:lower:]' '[:upper:]')" >> $GITHUB_ENV
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
BRANCH_NAME: ${{ github.event.pull_request.head.ref }}
run: |
echo "TICKET_NAME=$(echo "$BRANCH_NAME" | grep -i -o '\(apm\|niad\|pi\)-[0-9]\+' | tr '[:lower:]' '[:upper:]')" >> $GITHUB_ENV

- name: Comment on PR
if: |
Expand All @@ -33,7 +50,7 @@ jobs:
contains(github.event.pull_request.head.ref, 'AMB-') ||
contains(github.event.pull_request.head.ref, 'AMP-') ||
contains(github.event.pull_request.head.ref, 'PI-')
uses: unsplash/comment-on-pr@master
uses: unsplash/comment-on-pr@a9bf050e744c8282dee4bb0dbcf063186d8316c4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,19 @@ on: pull_request

jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
defaults:
run:
working-directory: ./docker/sds-api/spine-directory-service/sds

steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v4
- name: Set up Python 3.8
uses: actions/setup-python@v1
uses: actions/setup-python@v5
with:
python-version: 3.8
- name: Install pipenv
uses: dschep/install-pipenv-action@v1
uses: dschep/install-pipenv-action@aaac0310d5f4a052d150e5f490b44354e08fbb8c
with:
version: 2021.5.29
- name: Install dependencies
Expand Down
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ clean:
rm -rf dist

publish: clean
python --version
mkdir -p build
npm run publish 2> /dev/null

Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,7 @@ Sandbox environment mimics real service behaviour - both correct HTTP 200 and cl
Both /Endpoint and /Device has built in one response with data that can be fetched using query parameters specified below. All other combinations result with empty FHIR bundle simulating no result found.

1. `/Endpoint`

* `organization=https://fhir.nhs.uk/Id/ods-organization-code|YES`
* `identifier=https://fhir.nhs.uk/Id/nhsEndpointServiceId|urn:nhs:names:services:psis:REPC_IN150016UK05`
* `identifier=https://fhir.nhs.uk/Id/nhsMhsPartyKey|YES-0000806`
Expand All @@ -189,6 +190,7 @@ Query parametere `organization` is mandatory. At least one `identifier` must be
Example: `/Endpoint?organization=https://fhir.nhs.uk/Id/ods-organization-code|YES&identifier=https://fhir.nhs.uk/Id/nhsEndpointServiceId|urn:nhs:names:services:psis:REPC_IN150016UK05&identifier=https://fhir.nhs.uk/Id/nhsMhsPartyKey|YES-0000806`

2. `/Device`

* `organization=https://fhir.nhs.uk/Id/ods-organization-code|YES`
* `identifier=https://fhir.nhs.uk/Id/nhsEndpointServiceId|urn:nhs:names:services:psis:REPC_IN150016UK05`
* `identifier=https://fhir.nhs.uk/Id/nhsMhsPartyKey|YES-0000806`
Expand Down
66 changes: 34 additions & 32 deletions azure/azure-build-pipeline.yml
Original file line number Diff line number Diff line change
@@ -1,43 +1,45 @@
name: "$(SourceBranchName)+$(BuildID)"

trigger:
branches:
include:
- tags/refs/v*
tags:
include:
- v*
branches:
include:
- tags/refs/v*
tags:
include:
- v*

pr:
branches:
include: ['*']
branches:
include: ["*"]

resources:
repositories:
- repository: common
type: github
name: NHSDigital/api-management-utils
ref: refs/heads/edge
endpoint: NHSDigital
repositories:
- repository: common
type: github
name: NHSDigital/api-management-utils
ref: refs/heads/edge
endpoint: NHSDigital

variables:
- template: project.yml
- template: project.yml

extends:
template: azure/common/apigee-build.yml@common
parameters:
service_name: ${{ variables.service_name }}
short_service_name: ${{ variables.short_service_name }}
cache_steps:
- task: s3-cache-action@1
inputs:
key: 'node modules | ${{ variables.service_name }} | ${{ variables.service_name }}/package-lock.json'
location: '${{ variables.service_name }}/node_modules'
debug: true
displayName: cache node modules
- task: s3-cache-action@1
inputs:
key: 'poetry | ${{ variables.service_name }} | ${{ variables.service_name }}/poetry.lock'
location: '${{ variables.service_name }}/.venv'
debug: true
displayName: cache python dependencies
template: azure/common/apigee-build.yml@common

parameters:
python_version: ${{ variables.python_version }}
service_name: ${{ variables.service_name }}
short_service_name: ${{ variables.short_service_name }}
cache_steps:
- task: s3-cache-action@1
inputs:
key: "node modules | ${{ variables.service_name }} | ${{ variables.service_name }}/package-lock.json"
location: "${{ variables.service_name }}/node_modules"
debug: true
displayName: cache node modules
- task: s3-cache-action@1
inputs:
key: "poetry | ${{ variables.service_name }} | ${{ variables.service_name }}/poetry.lock"
location: "${{ variables.service_name }}/.venv"
debug: true
displayName: cache python dependencies
98 changes: 50 additions & 48 deletions azure/azure-pr-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,57 +4,59 @@ trigger: none
pr: none

resources:
repositories:
- repository: common
type: github
name: NHSDigital/api-management-utils
ref: refs/heads/edge
endpoint: NHSDigital
pipelines:
- pipeline: build_pipeline
source: "Spine-Directory-Service-Build"
trigger:
branches:
exclude:
- master
- refs/heads/master
- refs/tags/v*
repositories:
- repository: common
type: github
name: NHSDigital/api-management-utils
ref: refs/heads/edge
endpoint: NHSDigital
pipelines:
- pipeline: build_pipeline
source: "Spine-Directory-Service-Build"
trigger:
branches:
exclude:
- master
- refs/heads/master
- refs/tags/v*

pool:
name: 'AWS-ECS'
name: "AWS-ECS"

variables:
- template: project.yml
- template: project.yml

extends:
template: azure/common/apigee-deployment.yml@common
parameters:
service_name: ${{ variables.service_name }}
service_base_path: ${{ variables.service_base_path }}
short_service_name: ${{ variables.short_service_name }}
deploy_review_sandbox: true
secret_ids:
- ptl/client/ldap.nis1.national.ncrs.nhs.uk/key
- ptl/client/ldap.nis1.national.ncrs.nhs.uk/crt
- ptl/veit07.devspineservices.nhs.uk/root-ca/crt
config_ids:
- /ptl/api-deployment/sds/ldap/private-key
- /ptl/api-deployment/sds/ldap/client-cert
- /ptl/api-deployment/sds/ldap/ca-certs
jinja_templates:
hosted_target_healthcheck_suffix: /healthcheck/deep
apigee_deployments:
- environment: internal-dev
post_deploy:
- template: ./templates/run-tests.yml
parameters:
e2e_tests: true
smoke_tests: true
security_tests: true
- environment: internal-dev-sandbox
proxy_path: sandbox
post_deploy:
- template: ./templates/run-tests.yml
parameters:
e2e_tests: true
smoke_tests: true
template: azure/common/apigee-deployment.yml@common
parameters:
service_name: ${{ variables.service_name }}
service_base_path: ${{ variables.service_base_path }}
short_service_name: ${{ variables.short_service_name }}
deploy_review_sandbox: true
secret_ids:
- ptl/client/ldap.nis1.national.ncrs.nhs.uk/key
- ptl/client/ldap.nis1.national.ncrs.nhs.uk/crt
- ptl/veit07.devspineservices.nhs.uk/root-ca/crt
config_ids:
- /ptl/api-deployment/sds/ldap/private-key
- /ptl/api-deployment/sds/ldap/client-cert
- /ptl/api-deployment/sds/ldap/ca-certs
jinja_templates:
hosted_target_healthcheck_suffix: /healthcheck/deep
apigee_deployments:
- environment: internal-dev
post_deploy:
- template: ./templates/run-tests.yml
parameters:
e2e_tests: true
smoke_tests: true
security_tests: true
python_version: ${{ variables.python_version }}
- environment: internal-dev-sandbox
proxy_path: sandbox
post_deploy:
- template: ./templates/run-tests.yml
parameters:
e2e_tests: true
smoke_tests: true
python_version: ${{ variables.python_version }}
Loading
Loading