File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1616
1717set -euxo pipefail
1818
19+ SCRIPT_PATH=$( readlink -f " $0 " )
20+ SCRIPT_DIR=$( dirname -- " ${SCRIPT_PATH} " )
21+
1922if [[ " $# " -lt 1 || " ${1} " != " --arm64" && " ${1} " != " --amd64" ]]; then
2023 echo " Error: First parameter must be --arm64 or --amd64."
2124 exit 1
@@ -47,6 +50,9 @@ for LABEL in "${LABELS[@]}"; do
4750 IMAGES+=(" --image-name \" ghcr.io/eclipse-score/devcontainer:${LABEL} -${ARCH} \" " )
4851done
4952
53+ . " ${SCRIPT_DIR} /functions.sh"
54+ set_dockerfile_name
55+
5056# Prepare devcontainer build command
5157DEVCONTAINER_CALL=" devcontainer build --workspace-folder src/s-core-devcontainer --cache-from ghcr.io/eclipse-score/devcontainer"
5258
Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+
3+ # *******************************************************************************
4+ # Copyright (c) 2026 Contributors to the Eclipse Foundation
5+ #
6+ # See the NOTICE file(s) distributed with this work for additional
7+ # information regarding copyright ownership.
8+ #
9+ # This program and the accompanying materials are made available under the
10+ # terms of the Apache License Version 2.0 which is available at
11+ # https://www.apache.org/licenses/LICENSE-2.0
12+ #
13+ # SPDX-FileCopyrightText: 2026 Contributors to the Eclipse Foundation
14+ # SPDX-License-Identifier: Apache-2.0
15+ # *******************************************************************************
16+
17+ set_dockerfile_name () {
18+ DEVCONTAINER_DOCKERFILE_NAME=" Dockerfile"
19+
20+ # Check if proxies are configured in the environment
21+ set +u
22+ if [ -n " ${HTTP_PROXY}${HTTPS_PROXY}${http_proxy}${https_proxy}${NO_PROXY}${no_proxy} " ]; then
23+ DEVCONTAINER_DOCKERFILE_NAME=" Dockerfile-with-proxy-vars"
24+ echo " Proxy environment detected."
25+ fi
26+ set -u
27+
28+ export DEVCONTAINER_DOCKERFILE_NAME
29+ echo " Using Dockerfile: ${DEVCONTAINER_DOCKERFILE_NAME} "
30+ }
Original file line number Diff line number Diff line change @@ -25,6 +25,9 @@ SCRIPT_DIR=$(dirname -- "${SCRIPT_PATH}")
2525PROJECT_DIR=$( dirname -- " ${SCRIPT_DIR} " )
2626ID_LABEL=" test-container=${IMAGE} "
2727
28+ . " ${SCRIPT_DIR} /functions.sh"
29+ set_dockerfile_name
30+
2831devcontainer up \
2932 --id-label " ${ID_LABEL} " \
3033 --workspace-folder " ${PROJECT_DIR} /src/${IMAGE} /" \
Original file line number Diff line number Diff line change 1414
1515FROM buildpack-deps:noble-curl
1616
17- # Proxy arguments for build-time network access
18- ARG HTTP_PROXY=""
19- ARG HTTPS_PROXY=""
20- ARG http_proxy=""
21- ARG https_proxy=""
22- ARG NO_PROXY=""
23- ARG no_proxy=""
24-
25- # Set proxy environment variables for the build process
26- ENV HTTP_PROXY=${HTTP_PROXY}
27- ENV HTTPS_PROXY=${HTTPS_PROXY}
28- ENV http_proxy=${http_proxy}
29- ENV https_proxy=${https_proxy}
30- ENV NO_PROXY=${NO_PROXY}
31- ENV no_proxy=${no_proxy}
32-
3317LABEL dev.containers.features="common"
3418
35- # Unset proxy variables for all login shells
36- COPY unset-proxy.sh /etc/profile.d/unset-proxy.sh
37-
3819RUN userdel -f -r ubuntu
Original file line number Diff line number Diff line change 1+ # *******************************************************************************
2+ # Copyright (c) 2026 Contributors to the Eclipse Foundation
3+ #
4+ # See the NOTICE file(s) distributed with this work for additional
5+ # information regarding copyright ownership.
6+ #
7+ # This program and the accompanying materials are made available under the
8+ # terms of the Apache License Version 2.0 which is available at
9+ # https://www.apache.org/licenses/LICENSE-2.0
10+ #
11+ # SPDX-FileCopyrightText: 2026 Contributors to the Eclipse Foundation
12+ # SPDX-License-Identifier: Apache-2.0
13+ # *******************************************************************************
14+
15+ FROM buildpack-deps:noble-curl
16+
17+ # Proxy arguments for build-time network access
18+ ARG HTTP_PROXY=""
19+ ARG HTTPS_PROXY=""
20+ ARG http_proxy=""
21+ ARG https_proxy=""
22+ ARG NO_PROXY=""
23+ ARG no_proxy=""
24+
25+ # Set proxy environment variables for the build process
26+ ENV HTTP_PROXY=${HTTP_PROXY}
27+ ENV HTTPS_PROXY=${HTTPS_PROXY}
28+ ENV http_proxy=${http_proxy}
29+ ENV https_proxy=${https_proxy}
30+ ENV NO_PROXY=${NO_PROXY}
31+ ENV no_proxy=${no_proxy}
32+
33+ LABEL dev.containers.features="common"
34+
35+ # Unset proxy variables for all login shells
36+ COPY unset-proxy.sh /etc/bash_completion.d/unset-proxy.sh
37+
38+ RUN userdel -f -r ubuntu
Original file line number Diff line number Diff line change 11{
22 "build" : {
33 // Installs latest version from the Distribution
4- "dockerfile" : " ./Dockerfile" ,
4+ "dockerfile" : " ./${localEnv:DEVCONTAINER_DOCKERFILE_NAME: Dockerfile} " ,
55 "context" : " ." ,
66 "args" : {
77 "HTTP_PROXY" : " ${localEnv:HTTP_PROXY}" ,
Original file line number Diff line number Diff line change 1414# SPDX-License-Identifier: Apache-2.0
1515# *******************************************************************************
1616
17- # /etc/profile .d/unset-proxy.sh
17+ # /etc/bash_completion .d/unset-proxy.sh
1818# Unset proxy variables for all login shells if they are empty
1919for var in HTTP_PROXY HTTPS_PROXY http_proxy https_proxy NO_PROXY no_proxy; do
2020 if [ -z " ${! var} " ]; then
Original file line number Diff line number Diff line change 1616
1717set -euo pipefail
1818
19- source " test-utils.sh" vscode
19+ SCRIPT_PATH=$( readlink -f " $0 " )
20+ SCRIPT_DIR=$( dirname -- " ${SCRIPT_PATH} " )
21+
22+ source " ${SCRIPT_DIR} /test-utils.sh" vscode
2023
2124# C++ tooling
2225check " validate clangd is working and has the correct version" bash -c " clangd --version | grep '20.1.8'"
@@ -37,5 +40,14 @@ source /devcontainer/features/s-core-local/tests/test_default.sh
3740# Tests from the local bazel feature
3841source /devcontainer/features/bazel/tests/test_default.sh
3942
43+ # Check that no environment variables are empty
44+ . /etc/bash_completion
45+ for var in $( compgen -e) ; do
46+ if [[ " ${var} " == " LS_COLORS" ]]; then
47+ continue
48+ fi
49+ check " validate environment variable ${var} is not empty" bash -c " [ -n \"\$ {${var} }\" ]"
50+ done
51+
4052# Report result
4153reportResults
You can’t perform that action at this time.
0 commit comments