Skip to content

Commit 39a13e3

Browse files
author
Jacob Woffenden
authored
Merge branch 'main' into feat/consistent-prompt-colours
2 parents 44a1259 + a188779 commit 39a13e3

File tree

14 files changed

+87
-24
lines changed

14 files changed

+87
-24
lines changed

.devcontainer/devcontainer-lock.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
"integrity": "sha256:5f3e2005aad161ce3ff7700b2603f11935348c039f9166960efd050d69cd3014"
77
},
88
"ghcr.io/devcontainers/features/node:1": {
9-
"version": "1.6.0",
10-
"resolved": "ghcr.io/devcontainers/features/node@sha256:902b97a02d04ffd3404579d793f3e101d1126d4d198929196c5872ed75a6d351",
11-
"integrity": "sha256:902b97a02d04ffd3404579d793f3e101d1126d4d198929196c5872ed75a6d351"
9+
"version": "1.6.1",
10+
"resolved": "ghcr.io/devcontainers/features/node@sha256:71590121aaf7b2040f3e1e2dfc4bb9a1389277fd5a88a7199094542b82ce5340",
11+
"integrity": "sha256:71590121aaf7b2040f3e1e2dfc4bb9a1389277fd5a88a7199094542b82ce5340"
1212
}
1313
}
1414
}

.github/workflows/dependency-review.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ jobs:
2222
steps:
2323
- name: Checkout
2424
id: checkout
25-
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
25+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2626

2727
- name: Dependency Review
2828
id: dependency_review
29-
uses: actions/dependency-review-action@5a2ce3f5b92ee19cbb1541a4984c76d921601d7c # v4.3.4
29+
uses: actions/dependency-review-action@a6993e2c61fd5dc440b409aa1d6904921c5e1894 # v4.3.5
3030
with:
3131
fail-on-severity: critical

.github/workflows/features.yml

+8-8
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
steps:
2727
- name: Checkout
2828
id: checkout
29-
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
29+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
3030

3131
- name: Build path-filters file
3232
id: build_path_filters
@@ -54,7 +54,7 @@ jobs:
5454
steps:
5555
- name: Checkout
5656
id: checkout
57-
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
57+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
5858

5959
- name: Check Version
6060
id: check_version
@@ -142,7 +142,7 @@ jobs:
142142
steps:
143143
- name: Checkout
144144
id: checkout
145-
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
145+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
146146

147147
- name: Install @devcontainers/cli
148148
id: install_devcontainers_cli
@@ -155,7 +155,7 @@ jobs:
155155
file: images/base/Dockerfile
156156
context: images/base
157157
load: true
158-
tags: ghcr.io/ministryofjustice/devcontainer-base:local-feature-test-${{ github.sha }}
158+
tags: ghcr.io/ministryofjustice/devcontainer-base:local-feature-test
159159

160160
- name: Testing ${{ matrix.feature }}
161161
id: test_feature
@@ -165,7 +165,7 @@ jobs:
165165
--skip-scenarios \
166166
--project-folder features \
167167
--features ${{ matrix.feature }} \
168-
--base-image ghcr.io/ministryofjustice/devcontainer-base:local-feature-test-${{ github.sha }}
168+
--base-image ghcr.io/ministryofjustice/devcontainer-base:local-feature-test
169169
170170
- name: Testing ${{ matrix.feature }} scenarios
171171
id: test_feature_scenarios
@@ -175,7 +175,7 @@ jobs:
175175
--features ${{ matrix.feature }} \
176176
--skip-autogenerated \
177177
--skip-duplicated \
178-
--base-image ghcr.io/ministryofjustice/devcontainer-base:local-feature-test-${{ github.sha }}
178+
--base-image ghcr.io/ministryofjustice/devcontainer-base:local-feature-test
179179
180180
validate:
181181
needs: [detect-changes]
@@ -187,7 +187,7 @@ jobs:
187187
steps:
188188
- name: Checkout
189189
id: checkout
190-
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
190+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
191191

192192
- name: Validate
193193
uses: devcontainers/action@1082abd5d2bf3a11abccba70eef98df068277772 # v1.4.3
@@ -211,7 +211,7 @@ jobs:
211211
steps:
212212
- name: Checkout
213213
id: checkout
214-
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
214+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
215215

216216
- name: Log in to GitHub Container Registry
217217
id: login_ghcr

.github/workflows/images.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
steps:
2727
- name: Checkout
2828
id: checkout
29-
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
29+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
3030

3131
- name: Build path-filters file
3232
id: build_path_filters
@@ -54,7 +54,7 @@ jobs:
5454
steps:
5555
- name: Checkout
5656
id: checkout
57-
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
57+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
5858

5959
- name: Check Version
6060
id: check_version
@@ -143,11 +143,11 @@ jobs:
143143
steps:
144144
- name: Checkout
145145
id: checkout
146-
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
146+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
147147

148148
- name: Set Up Container Structure Test
149149
id: setup_container_structure_test
150-
uses: ministryofjustice/github-actions/setup-container-structure-test@e08cbcac12ec9c09d867ab2b803d4ea1a87300ad # v18.2.4
150+
uses: ministryofjustice/github-actions/setup-container-structure-test@721b0f273fc8356611cb18b3dfc02074d59217da # v18.4.0
151151

152152
- name: Set Up QEMU
153153
id: setup_qemu
@@ -204,7 +204,7 @@ jobs:
204204
steps:
205205
- name: Checkout
206206
id: checkout
207-
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
207+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
208208

209209
- name: Set Up QEMU
210210
id: setup_qemu

.github/workflows/super-linter.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
steps:
2424
- name: Checkout
2525
id: checkout
26-
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
26+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2727
with:
2828
fetch-depth: 0
2929

features/src/cloud-platform/CHANGELOG.md

+8
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
## [Unreleased]
1111

12+
## [1.0.0] - 2024-10-17
13+
14+
## Changed
15+
16+
- set `installKubernetesCliPrompt` to `false` for `ghcr.io/ministryofjustice/devcontainer-feature/kubernetes`
17+
18+
- Promote to 1.0.0
19+
1220
## [0.0.5] - 2024-10-07
1321

1422
## Changed

features/src/cloud-platform/devcontainer-feature.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"id": "cloud-platform",
3-
"version": "0.0.5",
3+
"version": "1.0.0",
44
"name": "Cloud Platform",
55
"description": "Installs the Cloud Platform CLI",
66
"options": {
@@ -22,7 +22,8 @@
2222
},
2323
"dependsOn": {
2424
"ghcr.io/ministryofjustice/devcontainer-feature/kubernetes:1": {
25-
"kubernetesCliVersion": "v1.29.9"
25+
"kubernetesCliVersion": "v1.29.9",
26+
"installKubernetesCliPrompt": false
2627
}
2728
}
2829
}

features/src/terraform/CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
## [Unreleased]
1111

12+
## [1.2.0] - 2024-10-17
13+
14+
### Added
15+
16+
- Default to installing wrapper script that sets `TF_DATA_DIR` to `/tmp/terraform/${currentDirectory}` ([#140](https://github.com/ministryofjustice/.devcontainer/issues/140))
17+
1218
## [1.1.0] - 2024-08-22
1319

1420
### Changed

features/src/terraform/devcontainer-feature.json

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
22
"id": "terraform",
3-
"version": "1.1.0",
3+
"version": "1.2.0",
44
"name": "Terraform",
55
"documentationURL": "https://github.com/ministryofjustice/.devcontainer/tree/main/features/src/terraform",
6-
"description": "Installs the Terraform CLI and tflint",
6+
"description": "Installs the Terraform CLI, tflint and a wrapper script to aid with permissions issues on macOS",
77
"options": {
88
"terraformCliVersion": {
99
"type": "string",
@@ -16,6 +16,11 @@
1616
"description": "Version of the tflint to install",
1717
"proposals": ["latest"],
1818
"default": "latest"
19+
},
20+
"installTerraformWrapper": {
21+
"type": "boolean",
22+
"description": "Install a Terraform wrapper to help with this permissions bug (https://github.com/ministryofjustice/.devcontainer/issues/140)",
23+
"default": true
1924
}
2025
},
2126
"customizations": {

features/src/terraform/install-terraform-cli.sh

+7-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ get_system_architecture
1010

1111
GITHUB_REPOSITORY="hashicorp/terraform"
1212
VERSION="${TERRAFORMCLIVERSION:-"latest"}"
13+
INSTALL_TERRAFORM_WRAPPER="${INSTALLTERRAFORMWRAPPER:-"true"}"
1314

1415
if [[ "${VERSION}" == "latest" ]]; then
1516
get_github_latest_tag "${GITHUB_REPOSITORY}"
@@ -25,7 +26,12 @@ curl --fail-with-body --location "https://releases.hashicorp.com/terraform/${VER
2526

2627
unzip "terraform_${VERSION_STRIP_V}_linux_${ARCHITECTURE}.zip"
2728

28-
install --owner=vscode --group=vscode --mode=775 terraform /usr/local/bin/terraform
29+
if [[ "${INSTALL_TERRAFORM_WRAPPER}" == "true" ]]; then
30+
install --owner=vscode --group=vscode --mode=775 "$(dirname "${0}")"/src/usr/local/bin/terraform /usr/local/bin/terraform
31+
install --owner=vscode --group=vscode --mode=775 terraform /usr/local/bin/terraform-bin
32+
else
33+
install --owner=vscode --group=vscode --mode=775 terraform /usr/local/bin/terraform
34+
fi
2935

3036
install --owner=vscode --group=vscode --mode=775 "$(dirname "${0}")"/src/home/vscode/.devcontainer/featurerc.d/terraform-cli.sh /home/vscode/.devcontainer/featurerc.d/terraform-cli.sh
3137

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/usr/bin/env bash
2+
3+
# If current directory contains .tf files, set TF_DATA_DIR to /tmp/terraform/${currentDirectory} otherwise use default
4+
if ls -- *.tf &>/dev/null; then
5+
currentDirectory="$(basename "$(pwd)")"
6+
export TF_DATA_DIR="/tmp/terraform/${currentDirectory}"
7+
fi
8+
9+
exec /usr/local/bin/terraform-bin "$@"

features/test/terraform/no_wrapper.sh

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
5+
# shellcheck source=/dev/null
6+
# file only accessible when using devcontainer CLI
7+
source dev-container-features-test-lib
8+
9+
check "terraform version" terraform version
10+
11+
reportResults
+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"no_wrapper": {
3+
"image": "ghcr.io/ministryofjustice/devcontainer-base:local-feature-test",
4+
"features": {
5+
"terraform": {
6+
"installTerraformWrapper": false
7+
}
8+
}
9+
}
10+
}

scripts/features/test.sh

+7
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,10 @@ devcontainer features test \
1313
--skip-scenarios \
1414
--skip-duplicated \
1515
--base-image ghcr.io/ministryofjustice/devcontainer-base:local-feature-test
16+
17+
devcontainer features test \
18+
--project-folder features \
19+
--features "${FEATURE_TO_TEST}" \
20+
--skip-autogenerated \
21+
--skip-duplicated \
22+
--base-image ghcr.io/ministryofjustice/devcontainer-base:local-feature-test

0 commit comments

Comments
 (0)