Skip to content

Commit b5b41d8

Browse files
authored
[oryx] - Upgrade DEBIAN_FLAVOR to bookworm (#1603)
* [oryx] - Upgrade DEBIAN_FLAVOR to `bookworm` * Update documentation * Modified test scripts as per review comments
1 parent 20aa81f commit b5b41d8

File tree

8 files changed

+54
-75
lines changed

8 files changed

+54
-75
lines changed

src/oryx/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Installs the oryx CLI
77

88
```json
99
"features": {
10-
"ghcr.io/devcontainers/features/oryx:1": {}
10+
"ghcr.io/devcontainers/features/oryx:2": {}
1111
}
1212
```
1313

src/oryx/devcontainer-feature.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"id": "oryx",
3-
"version": "1.4.1",
3+
"version": "2.0.0",
44
"name": "Oryx",
55
"description": "Installs the oryx CLI",
66
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/oryx",
@@ -10,7 +10,7 @@
1010
"DYNAMIC_INSTALL_ROOT_DIR": "/opt",
1111
"ORYX_PREFER_USER_INSTALLED_SDKS": "true",
1212
"ORYX_DIR": "/usr/local/oryx",
13-
"DEBIAN_FLAVOR": "focal-scm",
13+
"DEBIAN_FLAVOR": "bookworm",
1414
"PATH": "/usr/local/oryx:${PATH}"
1515
},
1616
"customizations": {

src/oryx/install.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ mkdir -p "${ORYX_INSTALL_DIR}"
206206
PIP_CACHE_DIR="/usr/local/share/pip-cache/lib"
207207
mkdir -p ${PIP_CACHE_DIR}
208208

209-
updaterc "export ORYX_SDK_STORAGE_BASE_URL=https://oryx-cdn.microsoft.io && export ENABLE_DYNAMIC_INSTALL=true && DYNAMIC_INSTALL_ROOT_DIR=$ORYX_INSTALL_DIR && ORYX_PREFER_USER_INSTALLED_SDKS=true && export DEBIAN_FLAVOR=focal-scm"
209+
updaterc "export ORYX_SDK_STORAGE_BASE_URL=https://oryx-cdn.microsoft.io && export ENABLE_DYNAMIC_INSTALL=true && DYNAMIC_INSTALL_ROOT_DIR=$ORYX_INSTALL_DIR && ORYX_PREFER_USER_INSTALLED_SDKS=true && export DEBIAN_FLAVOR=bookworm"
210210

211211
chown -R "${USERNAME}:oryx" "${ORYX_INSTALL_DIR}" "${BUILD_SCRIPT_GENERATOR}" "${ORYX}" "${PIP_CACHE_DIR}"
212212
chmod -R g+r+w "${ORYX_INSTALL_DIR}" "${BUILD_SCRIPT_GENERATOR}" "${ORYX}" "${PIP_CACHE_DIR}"

test/oryx/install_dotnet_and_oryx.sh

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,39 +12,33 @@ check "Oryx version" oryx --version
1212
check "Dotnet is not removed if it is not installed by the Oryx Feature" dotnet --version
1313

1414
# Install platforms with oryx build tool
15-
check "oryx-install-dotnet-2.1" oryx prep --skip-detection --platforms-and-versions dotnet=2.1.30
16-
check "dotnet-2-installed-by-oryx" ls /opt/dotnet/ | grep 2.1
15+
check "oryx-install-dotnet-10.0" oryx prep --skip-detection --platforms-and-versions dotnet=10.0.4
16+
check "dotnet-10-installed-by-oryx" ls /opt/dotnet/ | grep 10.0
1717

18-
check "oryx-install-nodejs-12.22.11" oryx prep --skip-detection --platforms-and-versions nodejs=12.22.11
19-
check "nodejs-12.22.11-installed-by-oryx" ls /opt/nodejs/ | grep 12.22.11
18+
check "oryx-install-nodejs-24.13.0" oryx prep --skip-detection --platforms-and-versions nodejs=24.13.0
19+
check "nodejs-24.13.0-installed-by-oryx" ls /opt/nodejs/ | grep 24.13.0
2020

21-
check "oryx-install-php-7.3.25" oryx prep --skip-detection --platforms-and-versions php=7.3.25
22-
check "php-7.3.25-installed-by-oryx" ls /opt/php/ | grep 7.3.25
23-
24-
check "oryx-install-java-12.0.2" oryx prep --skip-detection --platforms-and-versions java=12.0.2
25-
check "java-12.0.2-installed-by-oryx" ls /opt/java/ | grep 12.0.2
21+
check "oryx-install-php-8.5.1" oryx prep --skip-detection --platforms-and-versions php=8.5.1
22+
check "php-8.5.1-installed-by-oryx" ls /opt/php/ | grep 8.5.1
2623

2724
# Replicates Oryx's behavior for universal image
2825
mkdir -p /opt/oryx
29-
echo "vso-focal" >> /opt/oryx/.imagetype
26+
echo "vso-bookworm" >> /opt/oryx/.imagetype
3027

3128
mkdir -p /opt/dotnet/lts
3229
cp -R /usr/share/dotnet/dotnet /opt/dotnet/lts
3330
cp -R /usr/share/dotnet/LICENSE.txt /opt/dotnet/lts
3431
cp -R /usr/share/dotnet/ThirdPartyNotices.txt /opt/dotnet/lts
3532

3633
# Install platforms with oryx build tool
37-
check "oryx-install-dotnet-2.1-universal" oryx prep --skip-detection --platforms-and-versions dotnet=2.1.30
38-
check "dotnet-2-installed-by-oryx-universal" ls /opt/dotnet/ | grep 2.1
39-
40-
check "oryx-install-nodejs-12.22.11-universal" oryx prep --skip-detection --platforms-and-versions nodejs=12.22.11
41-
check "nodejs-12.22.11-installed-by-oryx-universal" ls /opt/nodejs/ | grep 12.22.11
34+
check "oryx-install-dotnet-10.0" oryx prep --skip-detection --platforms-and-versions dotnet=10.0.4
35+
check "dotnet-10-installed-by-oryx" ls /opt/dotnet/ | grep 10.0
4236

43-
check "oryx-install-php-7.3.25-universal" oryx prep --skip-detection --platforms-and-versions php=7.3.25
44-
check "php-7.3.25-installed-by-oryx-universal" ls /opt/php/ | grep 7.3.25
37+
check "oryx-install-nodejs-24.13.0" oryx prep --skip-detection --platforms-and-versions nodejs=24.13.0
38+
check "nodejs-24.13.0-installed-by-oryx" ls /opt/nodejs/ | grep 24.13.0
4539

46-
check "oryx-install-java-12.0.2-universal" oryx prep --skip-detection --platforms-and-versions java=12.0.2
47-
check "java-12.0.2-installed-by-oryx-universal" ls /opt/java/ | grep 12.0.2
40+
check "oryx-install-php-8.5.1" oryx prep --skip-detection --platforms-and-versions php=8.5.1
41+
check "php-8.5.1-installed-by-oryx" ls /opt/php/ | grep 8.5.1
4842

4943
# Report result
5044
reportResults

test/oryx/install_older_dotnet_and_oryx.sh

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,39 +9,33 @@ check "Oryx version" oryx --version
99
check "Dotnet is not removed if it is not installed by the Oryx Feature" dotnet --version
1010

1111
# Install platforms with oryx build tool
12-
check "oryx-install-dotnet-2.1" oryx prep --skip-detection --platforms-and-versions dotnet=2.1.30
13-
check "dotnet-2-installed-by-oryx" ls /opt/dotnet/ | grep 2.1
12+
check "oryx-install-dotnet-6.0" oryx prep --skip-detection --platforms-and-versions dotnet=6.0.23
13+
check "dotnet-6-installed-by-oryx" ls /opt/dotnet/ | grep 6.0
1414

15-
check "oryx-install-nodejs-12.22.11" oryx prep --skip-detection --platforms-and-versions nodejs=12.22.11
16-
check "nodejs-12.22.11-installed-by-oryx" ls /opt/nodejs/ | grep 12.22.11
15+
check "oryx-install-nodejs-20.11.0" oryx prep --skip-detection --platforms-and-versions nodejs=20.11.0
16+
check "nodejs-20.11.0-installed-by-oryx" ls /opt/nodejs/ | grep 20.11.0
1717

18-
check "oryx-install-php-7.3.25" oryx prep --skip-detection --platforms-and-versions php=7.3.25
19-
check "php-7.3.25-installed-by-oryx" ls /opt/php/ | grep 7.3.25
20-
21-
check "oryx-install-java-12.0.2" oryx prep --skip-detection --platforms-and-versions java=12.0.2
22-
check "java-12.0.2-installed-by-oryx" ls /opt/java/ | grep 12.0.2
18+
check "oryx-install-php-8.1.22" oryx prep --skip-detection --platforms-and-versions php=8.1.22
19+
check "php-8.1.22-installed-by-oryx" ls /opt/php/ | grep 8.1.22
2320

2421
# Replicates Oryx's behavior for universal image
2522
mkdir -p /opt/oryx
26-
echo "vso-focal" >> /opt/oryx/.imagetype
23+
echo "vso-bookworm" >> /opt/oryx/.imagetype
2724

2825
mkdir -p /opt/dotnet/lts
2926
cp -R /usr/share/dotnet/dotnet /opt/dotnet/lts
3027
cp -R /usr/share/dotnet/LICENSE.txt /opt/dotnet/lts
3128
cp -R /usr/share/dotnet/ThirdPartyNotices.txt /opt/dotnet/lts
3229

3330
# Install platforms with oryx build tool
34-
check "oryx-install-dotnet-2.1-universal" oryx prep --skip-detection --platforms-and-versions dotnet=2.1.30
35-
check "dotnet-2-installed-by-oryx-universal" ls /opt/dotnet/ | grep 2.1
36-
37-
check "oryx-install-nodejs-12.22.11-universal" oryx prep --skip-detection --platforms-and-versions nodejs=12.22.11
38-
check "nodejs-12.22.11-installed-by-oryx-universal" ls /opt/nodejs/ | grep 12.22.11
31+
check "oryx-install-dotnet-6.0" oryx prep --skip-detection --platforms-and-versions dotnet=6.0.23
32+
check "dotnet-6-installed-by-oryx" ls /opt/dotnet/ | grep 6.0
3933

40-
check "oryx-install-php-7.3.25-universal" oryx prep --skip-detection --platforms-and-versions php=7.3.25
41-
check "php-7.3.25-installed-by-oryx-universal" ls /opt/php/ | grep 7.3.25
34+
check "oryx-install-nodejs-20.11.0" oryx prep --skip-detection --platforms-and-versions nodejs=20.11.0
35+
check "nodejs-20.11.0-installed-by-oryx" ls /opt/nodejs/ | grep 20.11.0
4236

43-
check "oryx-install-java-12.0.2-universal" oryx prep --skip-detection --platforms-and-versions java=12.0.2
44-
check "java-12.0.2-installed-by-oryx-universal" ls /opt/java/ | grep 12.0.2
37+
check "oryx-install-php-8.1.22" oryx prep --skip-detection --platforms-and-versions php=8.1.22
38+
check "php-8.1.22-installed-by-oryx" ls /opt/php/ | grep 8.1.22
4539

4640
# Report result
4741
reportResults

test/oryx/install_prev_dotnet_and_oryx.sh

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,39 +9,33 @@ check "Oryx version" oryx --version
99
check "Dotnet is not removed if it is not installed by the Oryx Feature" dotnet --version
1010

1111
# Install platforms with oryx build tool
12-
check "oryx-install-dotnet-2.1" oryx prep --skip-detection --platforms-and-versions dotnet=2.1.30
13-
check "dotnet-2-installed-by-oryx" ls /opt/dotnet/ | grep 2.1
12+
check "oryx-install-dotnet-9.0" oryx prep --skip-detection --platforms-and-versions dotnet=9.0.1
13+
check "dotnet-9-installed-by-oryx" ls /opt/dotnet/ | grep 9.0
1414

15-
check "oryx-install-nodejs-12.22.11" oryx prep --skip-detection --platforms-and-versions nodejs=12.22.11
16-
check "nodejs-12.22.11-installed-by-oryx" ls /opt/nodejs/ | grep 12.22.11
15+
check "oryx-install-nodejs-22.9.0" oryx prep --skip-detection --platforms-and-versions nodejs=22.9.0
16+
check "nodejs-22.9.0-installed-by-oryx" ls /opt/nodejs/ | grep 22.9.0
1717

18-
check "oryx-install-php-7.3.25" oryx prep --skip-detection --platforms-and-versions php=7.3.25
19-
check "php-7.3.25-installed-by-oryx" ls /opt/php/ | grep 7.3.25
20-
21-
check "oryx-install-java-12.0.2" oryx prep --skip-detection --platforms-and-versions java=12.0.2
22-
check "java-12.0.2-installed-by-oryx" ls /opt/java/ | grep 12.0.2
18+
check "oryx-install-php-8.3.20" oryx prep --skip-detection --platforms-and-versions php=8.3.20
19+
check "php-8.3.20-installed-by-oryx" ls /opt/php/ | grep 8.3.20
2320

2421
# Replicates Oryx's behavior for universal image
2522
mkdir -p /opt/oryx
26-
echo "vso-focal" >> /opt/oryx/.imagetype
23+
echo "vso-bookworm" >> /opt/oryx/.imagetype
2724

2825
mkdir -p /opt/dotnet/lts
2926
cp -R /usr/share/dotnet/dotnet /opt/dotnet/lts
3027
cp -R /usr/share/dotnet/LICENSE.txt /opt/dotnet/lts
3128
cp -R /usr/share/dotnet/ThirdPartyNotices.txt /opt/dotnet/lts
3229

3330
# Install platforms with oryx build tool
34-
check "oryx-install-dotnet-2.1-universal" oryx prep --skip-detection --platforms-and-versions dotnet=2.1.30
35-
check "dotnet-2-installed-by-oryx-universal" ls /opt/dotnet/ | grep 2.1
36-
37-
check "oryx-install-nodejs-12.22.11-universal" oryx prep --skip-detection --platforms-and-versions nodejs=12.22.11
38-
check "nodejs-12.22.11-installed-by-oryx-universal" ls /opt/nodejs/ | grep 12.22.11
31+
check "oryx-install-dotnet-9.0" oryx prep --skip-detection --platforms-and-versions dotnet=9.0.1
32+
check "dotnet-9-installed-by-oryx" ls /opt/dotnet/ | grep 9.0
3933

40-
check "oryx-install-php-7.3.25-universal" oryx prep --skip-detection --platforms-and-versions php=7.3.25
41-
check "php-7.3.25-installed-by-oryx-universal" ls /opt/php/ | grep 7.3.25
34+
check "oryx-install-nodejs-22.9.0" oryx prep --skip-detection --platforms-and-versions nodejs=22.9.0
35+
check "nodejs-22.9.0-installed-by-oryx" ls /opt/nodejs/ | grep 22.9.0
4236

43-
check "oryx-install-java-12.0.2-universal" oryx prep --skip-detection --platforms-and-versions java=12.0.2
44-
check "java-12.0.2-installed-by-oryx-universal" ls /opt/java/ | grep 12.0.2
37+
check "oryx-install-php-8.3.20" oryx prep --skip-detection --platforms-and-versions php=8.3.20
38+
check "php-8.3.20-installed-by-oryx" ls /opt/php/ | grep 8.3.20
4539

4640
# Report result
4741
reportResults

test/oryx/scenarios.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
22
"install_dotnet_and_oryx": {
3-
"image": "ubuntu:noble",
3+
"image": "mcr.microsoft.com/devcontainers/base:noble",
44
"features": {
55
"dotnet": {
6-
"version": "8.0",
7-
"dotnetRuntimeVersions": "7.0",
8-
"aspNetCoreRuntimeVersions": "7.0"
6+
"version": "10.0",
7+
"dotnetRuntimeVersions": "9.0",
8+
"aspNetCoreRuntimeVersions": "9.0"
99
},
1010
"oryx": {}
1111
}
@@ -23,7 +23,7 @@
2323
"image": "ubuntu:noble",
2424
"features": {
2525
"dotnet": {
26-
"version": "6.0"
26+
"version": "8.0"
2727
},
2828
"oryx": {}
2929
}

test/oryx/test.sh

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,14 @@ check "ORYX_SDK_STORAGE_BASE_URL" echo $ORYX_SDK_STORAGE_BASE_URL
1010
check "ENABLE_DYNAMIC_INSTALL" echo $ENABLE_DYNAMIC_INSTALL
1111

1212
# Install platforms with oryx build tool
13-
check "oryx-install-dotnet-2.1" oryx prep --skip-detection --platforms-and-versions dotnet=2.1.30
14-
check "dotnet-2-installed-by-oryx" ls /opt/dotnet/ | grep 2.1
13+
check "oryx-install-dotnet-8.0" oryx prep --skip-detection --platforms-and-versions dotnet=8.0.23
14+
check "dotnet-2-installed-by-oryx" ls /opt/dotnet/ | grep 8.0
1515

16-
check "oryx-install-nodejs-12.22.11" oryx prep --skip-detection --platforms-and-versions nodejs=12.22.11
17-
check "nodejs-12.22.11-installed-by-oryx" ls /opt/nodejs/ | grep 12.22.11
16+
check "oryx-install-nodejs-20.11.0" oryx prep --skip-detection --platforms-and-versions nodejs=20.11.0
17+
check "nodejs-20.11.0-installed-by-oryx" ls /opt/nodejs/ | grep 20.11.0
1818

19-
check "oryx-install-php-7.3.25" oryx prep --skip-detection --platforms-and-versions php=7.3.25
20-
check "php-7.3.25-installed-by-oryx" ls /opt/php/ | grep 7.3.25
21-
22-
check "oryx-install-java-12.0.2" oryx prep --skip-detection --platforms-and-versions java=12.0.2
23-
check "java-12.0.2-installed-by-oryx" ls /opt/java/ | grep 12.0.2
19+
check "oryx-install-php-8.1.30" oryx prep --skip-detection --platforms-and-versions php=8.1.30
20+
check "php-8.1.30-installed-by-oryx" ls /opt/php/ | grep 8.1.30
2421

2522
# Report result
2623
reportResults

0 commit comments

Comments
 (0)