Skip to content

Commit 720e8e0

Browse files
Merge branch 'main' into dependabot/maven/software.amazon.lambda-powertools-logging-2.1.1
2 parents b978c33 + ca52ff1 commit 720e8e0

56 files changed

Lines changed: 1826 additions & 8738 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.devcontainer/Dockerfile

Lines changed: 15 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,15 @@
1-
FROM mcr.microsoft.com/devcontainers/base:ubuntu
2-
3-
RUN apt-get update \
4-
&& export DEBIAN_FRONTEND=noninteractive \
5-
&& apt-get -y dist-upgrade \
6-
&& apt-get -y install --no-install-recommends htop vim curl git build-essential \
7-
libffi-dev libssl-dev libxml2-dev libxslt1-dev libjpeg8-dev libbz2-dev \
8-
zlib1g-dev unixodbc unixodbc-dev libsecret-1-0 libsecret-1-dev libsqlite3-dev \
9-
jq apt-transport-https ca-certificates gnupg-agent \
10-
software-properties-common bash-completion python3-pip make libbz2-dev \
11-
libreadline-dev libsqlite3-dev wget llvm libncurses5-dev libncursesw5-dev \
12-
xz-utils tk-dev liblzma-dev netcat ruby-full build-essential zlib1g-dev \
13-
&& apt remove -y openjdk-8-jdk-headless openjdk-8-jre-headless openjdk-8-jre
14-
15-
# install aws stuff
16-
RUN wget -O /tmp/awscliv2.zip "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" && \
17-
unzip /tmp/awscliv2.zip -d /tmp/aws-cli && \
18-
/tmp/aws-cli/aws/install && \
19-
rm tmp/awscliv2.zip && \
20-
rm -rf /tmp/aws-cli
21-
22-
RUN wget -O /tmp/aws-sam-cli.zip https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-x86_64.zip && \
23-
unzip /tmp/aws-sam-cli.zip -d /tmp/aws-sam-cli && \
24-
/tmp/aws-sam-cli/install && \
25-
rm /tmp/aws-sam-cli.zip && \
26-
rm -rf /tmp/aws-sam-cli
27-
28-
USER vscode
29-
30-
# Install ASDF
31-
RUN git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.11.3; \
32-
echo '. $HOME/.asdf/asdf.sh' >> ~/.bashrc; \
33-
echo '. $HOME/.asdf/completions/asdf.bash' >> ~/.bashrc; \
34-
echo '# Install Ruby Gems to ~/gems' >> ~/.bashrc; \
35-
echo 'export GEM_HOME="$HOME/gems"' >> ~/.bashrc; \
36-
echo 'export PATH="$HOME/gems/bin:$PATH"' >> ~/.bashrc;
37-
38-
ENV PATH="$PATH:/home/vscode/.asdf/bin/"
39-
40-
41-
# Install ASDF plugins
42-
RUN asdf plugin add python; \
43-
asdf plugin add poetry https://github.com/asdf-community/asdf-poetry.git; \
44-
asdf plugin add shellcheck https://github.com/luizm/asdf-shellcheck.git; \
45-
asdf plugin-add java; \
46-
asdf plugin-add maven; \
47-
asdf plugin add direnv; \
48-
asdf plugin add actionlint; \
49-
asdf plugin add nodejs;
50-
51-
WORKDIR /workspaces/validation-service-fhir-r4
52-
ADD .tool-versions /workspaces/validation-service-fhir-r4/.tool-versions
53-
ADD .tool-versions /home/vscode/.tool-versions
54-
55-
RUN asdf install; \
56-
asdf reshim python; \
57-
asdf reshim poetry; \
58-
asdf reshim java;
1+
ARG IMAGE_NAME=node_24_python_3_14_java_24
2+
ARG IMAGE_VERSION=latest
3+
FROM ghcr.io/nhsdigital/eps-devcontainers/${IMAGE_NAME}:${IMAGE_VERSION}
4+
5+
USER root
6+
# specify DOCKER_GID to force container docker group id to match host
7+
RUN if [ -n "${DOCKER_GID}" ]; then \
8+
if ! getent group docker; then \
9+
groupadd -g ${DOCKER_GID} docker; \
10+
else \
11+
groupmod -g ${DOCKER_GID} docker; \
12+
fi && \
13+
usermod -aG docker vscode; \
14+
fi
15+

.devcontainer/devcontainer.json

Lines changed: 66 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,68 @@
1-
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
2-
// README at: https://github.com/devcontainers/templates/tree/main/src/ubuntu
31
{
4-
"name": "Ubuntu",
5-
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
6-
"build": {
7-
"dockerfile": "Dockerfile",
8-
"context": "..",
9-
"args": {}
10-
},
11-
"mounts": [
12-
"source=${env:HOME}${env:USERPROFILE}/.aws,target=/home/vscode/.aws,type=bind",
13-
"source=${env:HOME}${env:USERPROFILE}/.ssh,target=/home/vscode/.ssh,type=bind",
14-
"source=${env:HOME}${env:USERPROFILE}/.gnupg,target=/home/vscode/.gnupg,type=bind"
15-
],
16-
// Features to add to the dev container. More info: https://containers.dev/features.
17-
"features": {
18-
"ghcr.io/devcontainers/features/docker-outside-of-docker:1": {
19-
"version": "latest",
20-
"moby": "true",
21-
"installDockerBuildx": "true"
2+
"name": "eps-validator-lambda",
3+
"build": {
4+
"dockerfile": "Dockerfile",
5+
"context": "..",
6+
"args": {
7+
"DOCKER_GID": "${env:DOCKER_GID:}",
8+
"IMAGE_NAME": "node_24_python_3_14_java_24",
9+
"IMAGE_VERSION": "v1.4.9",
10+
"USER_UID": "${localEnv:USER_ID:}",
11+
"USER_GID": "${localEnv:GROUP_ID:}"
12+
}
13+
},
14+
"mounts": [
15+
"source=${env:HOME}${env:USERPROFILE}/.aws,target=/home/vscode/.aws,type=bind",
16+
"source=${env:HOME}${env:USERPROFILE}/.ssh,target=/home/vscode/.ssh,type=bind",
17+
"source=${env:HOME}${env:USERPROFILE}/.gnupg,target=/home/vscode/.gnupg,type=bind"
18+
],
19+
"customizations": {
20+
"vscode": {
21+
"extensions": [
22+
"AmazonWebServices.aws-toolkit-vscode",
23+
"redhat.vscode-yaml",
24+
"ms-python.python",
25+
"ms-python.flake8",
26+
"eamodio.gitlens",
27+
"github.vscode-pull-request-github",
28+
"orta.vscode-jest",
29+
"42crunch.vscode-openapi",
30+
"mermade.openapi-lint",
31+
"rvest.vs-code-prettier-eslint",
32+
"christian-kohler.npm-intellisense",
33+
"dbaeumer.vscode-eslint",
34+
"lfm.vscode-makefile-term",
35+
"GrapeCity.gc-excelviewer",
36+
"streetsidesoftware.code-spell-checker",
37+
"timonwong.shellcheck",
38+
"github.vscode-github-actions",
39+
"vscjava.vscode-java-pack"
40+
],
41+
"settings": {
42+
"python.defaultInterpreterPath": "/workspaces/eps-FHIR-validator-lambda/.venv/bin/python",
43+
"python.analysis.autoSearchPaths": true,
44+
"python.analysis.extraPaths": [],
45+
"python.testing.unittestEnabled": false,
46+
"python.testing.pytestEnabled": true,
47+
"python.linting.pylintEnabled": false,
48+
"python.linting.flake8Enabled": true,
49+
"python.linting.enabled": true,
50+
"editor.defaultFormatter": "rvest.vs-code-prettier-eslint",
51+
"editor.formatOnPaste": false,
52+
"editor.formatOnType": false,
53+
"editor.formatOnSave": true,
54+
"editor.formatOnSaveMode": "file",
55+
"cSpell.words": [
56+
"fhir",
57+
"Formik",
58+
"pino",
59+
"serialisation"
60+
]
2261
}
23-
},
24-
"customizations": {
25-
"vscode": {
26-
"extensions": [
27-
"AmazonWebServices.aws-toolkit-vscode",
28-
"redhat.vscode-yaml",
29-
"ms-python.python",
30-
"ms-python.flake8",
31-
"eamodio.gitlens",
32-
"github.vscode-pull-request-github",
33-
"orta.vscode-jest",
34-
"42crunch.vscode-openapi",
35-
"mermade.openapi-lint",
36-
"rvest.vs-code-prettier-eslint",
37-
"christian-kohler.npm-intellisense",
38-
"dbaeumer.vscode-eslint",
39-
"lfm.vscode-makefile-term",
40-
"GrapeCity.gc-excelviewer",
41-
"streetsidesoftware.code-spell-checker",
42-
"timonwong.shellcheck",
43-
"github.vscode-github-actions",
44-
"vscjava.vscode-java-pack"
45-
],
46-
"settings": {
47-
"python.defaultInterpreterPath": "/workspaces/eps-FHIR-validator-lambda/.venv/bin/python",
48-
"python.analysis.autoSearchPaths": true,
49-
"python.analysis.extraPaths": [],
50-
"python.testing.unittestEnabled": false,
51-
"python.testing.pytestEnabled": true,
52-
"python.linting.pylintEnabled": false,
53-
"python.linting.flake8Enabled": true,
54-
"python.linting.enabled": true, // required to format on save
55-
"editor.defaultFormatter": "rvest.vs-code-prettier-eslint",
56-
"editor.formatOnPaste": false, // required
57-
"editor.formatOnType": false, // required
58-
"editor.formatOnSave": true, // optional
59-
"editor.formatOnSaveMode": "file",
60-
"cSpell.words": ["fhir", "Formik", "pino", "serialisation"]
61-
}
62-
}
63-
},
64-
"remoteEnv": { "LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}" },
65-
"postCreateCommand": "rm -f ~/.docker/config.json; git config --global --add safe.directory /workspaces/eps-FHIR-validator-lambda; make install"
66-
// "features": {},
67-
// Use 'forwardPorts' to make a list of ports inside the container available locally.
68-
// "forwardPorts": [],
69-
// Use 'postCreateCommand' to run commands after the container is created.
70-
// "postCreateCommand": ""
71-
// Configure tool-specific properties.
72-
// "customizations": {},
73-
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
74-
// "remoteUser": "root"
75-
}
76-
62+
}
63+
},
64+
"remoteEnv": {
65+
"LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}"
66+
},
67+
"features": {}
68+
}

.gitallowed

Lines changed: 0 additions & 35 deletions
This file was deleted.

.github/actions/mark_jira_released/action.yml

Lines changed: 0 additions & 26 deletions
This file was deleted.

.github/actions/update_confluence_jira/action.yml

Lines changed: 0 additions & 89 deletions
This file was deleted.

.github/config/settings.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
TAG_FORMAT: "v${version}"

.github/copilot-instructions.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Base Coding Standards
2+
- Follow clean code principles
3+
- Write comprehensive tests
4+
- Use meaningful variable names
5+
6+
## Project-Specific instructions
7+
Check the following files for any project-specific coding standards or guidelines:
8+
- .github/instructions/project/instructions.md
9+
- If no project-specific conventions are defined there, use the general and language-specific best practices referenced below.
10+
- Language-specific instructions may also be found in the language-specific instruction files listed below. Always check those for any additional guidelines or standards that may apply to your codebase.
11+
12+
## Language-Specific Instructions
13+
Always follow security best practices as outlined in:
14+
- .github/instructions/general/security.instructions.md
15+
Follow additional language-specific guidelines in:
16+
- .github/instructions/languages/cdk.instructions.md
17+
- .github/instructions/languages/cloudformation.instructions.md
18+
- .github/instructions/languages/python.instructions.md
19+
- .github/instructions/languages/terraform.instructions.md
20+
- .github/instructions/languages/sam.instructions.md
21+
- .github/instructions/languages/typescript.instructions.md

0 commit comments

Comments
 (0)