Skip to content

Commit aaadd5b

Browse files
authored
release: v4.0.0 (#1098)
2 parents b602721 + 2bc75fe commit aaadd5b

95 files changed

Lines changed: 5682 additions & 67 deletions

File tree

Some content is hidden

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

build_artifacts/v2/v2.10/v2.10.7/dirs/etc/sagemaker-ui/workflows/start-workflows-container.sh

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -88,14 +88,6 @@ if [ "$(python /etc/sagemaker-ui/workflows/workflow_client.py check-blueprint -
8888
handle_workflows_startup_error 0
8989
fi
9090

91-
# Do minimum system requirements check: 4GB RAM and more than 2 CPU cores
92-
free_mem=$(free -m | awk '/^Mem:/ {print $7}')
93-
cpu_cores=$(nproc)
94-
if [[ $free_mem -lt 4096 ]] || [[ $cpu_cores -le 2 ]]; then
95-
echo "There is less than 4GB of available RAM or <=2 CPU cores. Workflows will not start. Free mem: $free_mem MB, CPU cores: $cpu_cores"
96-
handle_workflows_startup_error 1
97-
fi
98-
9991
(
10092
python /etc/sagemaker-ui/workflows/workflow_client.py update-local-runner-status --status 'starting' --detailed-status 'Creating directories'
10193

@@ -109,30 +101,12 @@ mkdir -p $WORKFLOW_STARTUP_PATH
109101
mkdir -p $WORKFLOW_OUTPUT_PATH
110102
) || handle_workflows_startup_error 2
111103

112-
(
113-
# Set the status of the status file to 'starting'
114-
python /etc/sagemaker-ui/workflows/workflow_client.py update-local-runner-status --status 'starting' --detailed-status 'Installing prerequisites'
115-
116-
# Workflows execution environment install
117-
sudo apt-get update
118-
sudo install -m 0755 -d /etc/apt/keyrings
119-
sudo rm -f /etc/apt/keyrings/docker.gpg
120-
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
121-
sudo chmod a+r /etc/apt/keyrings/docker.gpg
122-
echo \
123-
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
124-
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
125-
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
126-
sudo apt-get update
127-
VERSION_ID=$(cat /etc/os-release | grep -oP 'VERSION_ID=".*"' | cut -d'"' -f2)
128-
VERSION_STRING=$(sudo apt-cache madison docker-ce | awk '{ print $3 }' | grep -i $VERSION_ID | head -n 1)
129-
sudo apt-get install docker-ce-cli=$VERSION_STRING docker-compose-plugin=2.29.2-1~ubuntu.22.04~jammy -y --allow-downgrades
130-
) || handle_workflows_startup_error 3
131104

132105
(
133106
# Set status to copying files
134107
python /etc/sagemaker-ui/workflows/workflow_client.py update-local-runner-status --status 'starting' --detailed-status 'Copying files'
135108

109+
# Set up config files(plugins, requirements file, startup script), integrate with user custom setups
136110
# Create .airflowignore file
137111
cat >>"$WORKFLOW_DAG_PATH/.airflowignore" <<'END'
138112
.ipynb_checkpoints
@@ -174,15 +148,42 @@ if [ -d $USER_PLUGINS_FOLDER ]; then
174148
cp -r $USER_PLUGINS_FOLDER/* $WORKFLOW_PLUGINS_PATH
175149
fi
176150

151+
# Copy sample dag if it does not exist
152+
cp -n "/etc/sagemaker-ui/workflows/sample_dag.py" "${WORKFLOW_DAG_PATH}/"
177153
) || handle_workflows_startup_error 4
178154

155+
# Original logics for starting up workflows local runner
156+
# Do minimum system requirements check: 4GB RAM and more than 2 CPU cores
157+
free_mem=$(free -m | awk '/^Mem:/ {print $7}')
158+
cpu_cores=$(nproc)
159+
if [[ $free_mem -lt 4096 ]] || [[ $cpu_cores -le 2 ]]; then
160+
echo "There is less than 4GB of available RAM or <=2 CPU cores. Workflows will not start. Free mem: $free_mem MB, CPU cores: $cpu_cores"
161+
handle_workflows_startup_error 1
162+
fi
163+
164+
(
165+
python /etc/sagemaker-ui/workflows/workflow_client.py update-local-runner-status --status 'starting' --detailed-status 'Installing prerequisites'
166+
167+
# Workflows execution environment install
168+
sudo apt-get update
169+
sudo install -m 0755 -d /etc/apt/keyrings
170+
sudo rm -f /etc/apt/keyrings/docker.gpg
171+
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
172+
sudo chmod a+r /etc/apt/keyrings/docker.gpg
173+
echo \
174+
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
175+
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
176+
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
177+
sudo apt-get update
178+
VERSION_ID=$(cat /etc/os-release | grep -oP 'VERSION_ID=".*"' | cut -d'"' -f2)
179+
VERSION_STRING=$(sudo apt-cache madison docker-ce | awk '{ print $3 }' | grep -i $VERSION_ID | head -n 1)
180+
sudo apt-get install docker-ce-cli=$VERSION_STRING docker-compose-plugin=2.29.2-1~ubuntu.22.04~jammy -y --allow-downgrades
181+
) || handle_workflows_startup_error 3
182+
179183
(
180184
# Set status to installing workflows image
181185
python /etc/sagemaker-ui/workflows/workflow_client.py update-local-runner-status --status 'starting' --detailed-status 'Installing workflows image'
182186

183-
# Copy sample dag if it does not exist
184-
cp -n "/etc/sagemaker-ui/workflows/sample_dag.py" "${WORKFLOW_DAG_PATH}/"
185-
186187
# Log into ECR repository
187188
aws ecr get-login-password --region ${AWS_REGION} | docker login --username AWS --password-stdin ${ECR_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com
188189

@@ -203,4 +204,4 @@ python /etc/sagemaker-ui/workflows/workflow_client.py update-local-runner-status
203204

204205
# Start healthchecker
205206
sleep 30 # give the container some time to start
206-
supervisorctl -s unix:///var/run/supervisord/supervisor.sock start workflows_healthcheck
207+
supervisorctl -s unix:///var/run/supervisord/supervisor.sock start workflows_healthcheck

build_artifacts/v2/v2.10/v2.10.8/dirs/etc/sagemaker-ui/workflows/start-workflows-container.sh

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -88,14 +88,6 @@ if [ "$(python /etc/sagemaker-ui/workflows/workflow_client.py check-blueprint -
8888
handle_workflows_startup_error 0
8989
fi
9090

91-
# Do minimum system requirements check: 4GB RAM and more than 2 CPU cores
92-
free_mem=$(free -m | awk '/^Mem:/ {print $7}')
93-
cpu_cores=$(nproc)
94-
if [[ $free_mem -lt 4096 ]] || [[ $cpu_cores -le 2 ]]; then
95-
echo "There is less than 4GB of available RAM or <=2 CPU cores. Workflows will not start. Free mem: $free_mem MB, CPU cores: $cpu_cores"
96-
handle_workflows_startup_error 1
97-
fi
98-
9991
(
10092
python /etc/sagemaker-ui/workflows/workflow_client.py update-local-runner-status --status 'starting' --detailed-status 'Creating directories'
10193

@@ -109,30 +101,12 @@ mkdir -p $WORKFLOW_STARTUP_PATH
109101
mkdir -p $WORKFLOW_OUTPUT_PATH
110102
) || handle_workflows_startup_error 2
111103

112-
(
113-
# Set the status of the status file to 'starting'
114-
python /etc/sagemaker-ui/workflows/workflow_client.py update-local-runner-status --status 'starting' --detailed-status 'Installing prerequisites'
115-
116-
# Workflows execution environment install
117-
sudo apt-get update
118-
sudo install -m 0755 -d /etc/apt/keyrings
119-
sudo rm -f /etc/apt/keyrings/docker.gpg
120-
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
121-
sudo chmod a+r /etc/apt/keyrings/docker.gpg
122-
echo \
123-
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
124-
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
125-
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
126-
sudo apt-get update
127-
VERSION_ID=$(cat /etc/os-release | grep -oP 'VERSION_ID=".*"' | cut -d'"' -f2)
128-
VERSION_STRING=$(sudo apt-cache madison docker-ce | awk '{ print $3 }' | grep -i $VERSION_ID | head -n 1)
129-
sudo apt-get install docker-ce-cli=$VERSION_STRING docker-compose-plugin=2.29.2-1~ubuntu.22.04~jammy -y --allow-downgrades
130-
) || handle_workflows_startup_error 3
131104

132105
(
133106
# Set status to copying files
134107
python /etc/sagemaker-ui/workflows/workflow_client.py update-local-runner-status --status 'starting' --detailed-status 'Copying files'
135108

109+
# Set up config files(plugins, requirements file, startup script), integrate with user custom setups
136110
# Create .airflowignore file
137111
cat >>"$WORKFLOW_DAG_PATH/.airflowignore" <<'END'
138112
.ipynb_checkpoints
@@ -174,15 +148,42 @@ if [ -d $USER_PLUGINS_FOLDER ]; then
174148
cp -r $USER_PLUGINS_FOLDER/* $WORKFLOW_PLUGINS_PATH
175149
fi
176150

151+
# Copy sample dag if it does not exist
152+
cp -n "/etc/sagemaker-ui/workflows/sample_dag.py" "${WORKFLOW_DAG_PATH}/"
177153
) || handle_workflows_startup_error 4
178154

155+
# Original logics for starting up workflows local runner
156+
# Do minimum system requirements check: 4GB RAM and more than 2 CPU cores
157+
free_mem=$(free -m | awk '/^Mem:/ {print $7}')
158+
cpu_cores=$(nproc)
159+
if [[ $free_mem -lt 4096 ]] || [[ $cpu_cores -le 2 ]]; then
160+
echo "There is less than 4GB of available RAM or <=2 CPU cores. Workflows will not start. Free mem: $free_mem MB, CPU cores: $cpu_cores"
161+
handle_workflows_startup_error 1
162+
fi
163+
164+
(
165+
python /etc/sagemaker-ui/workflows/workflow_client.py update-local-runner-status --status 'starting' --detailed-status 'Installing prerequisites'
166+
167+
# Workflows execution environment install
168+
sudo apt-get update
169+
sudo install -m 0755 -d /etc/apt/keyrings
170+
sudo rm -f /etc/apt/keyrings/docker.gpg
171+
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
172+
sudo chmod a+r /etc/apt/keyrings/docker.gpg
173+
echo \
174+
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
175+
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
176+
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
177+
sudo apt-get update
178+
VERSION_ID=$(cat /etc/os-release | grep -oP 'VERSION_ID=".*"' | cut -d'"' -f2)
179+
VERSION_STRING=$(sudo apt-cache madison docker-ce | awk '{ print $3 }' | grep -i $VERSION_ID | head -n 1)
180+
sudo apt-get install docker-ce-cli=$VERSION_STRING docker-compose-plugin=2.29.2-1~ubuntu.22.04~jammy -y --allow-downgrades
181+
) || handle_workflows_startup_error 3
182+
179183
(
180184
# Set status to installing workflows image
181185
python /etc/sagemaker-ui/workflows/workflow_client.py update-local-runner-status --status 'starting' --detailed-status 'Installing workflows image'
182186

183-
# Copy sample dag if it does not exist
184-
cp -n "/etc/sagemaker-ui/workflows/sample_dag.py" "${WORKFLOW_DAG_PATH}/"
185-
186187
# Log into ECR repository
187188
aws ecr get-login-password --region ${AWS_REGION} | docker login --username AWS --password-stdin ${ECR_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com
188189

@@ -203,4 +204,4 @@ python /etc/sagemaker-ui/workflows/workflow_client.py update-local-runner-status
203204

204205
# Start healthchecker
205206
sleep 30 # give the container some time to start
206-
supervisorctl -s unix:///var/run/supervisord/supervisor.sock start workflows_healthcheck
207+
supervisorctl -s unix:///var/run/supervisord/supervisor.sock start workflows_healthcheck
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Change log: 4.0.0(cpu)
2+
3+
## Upgrades:
4+
5+
Package | Previous Version | Current Version
6+
---|---|---
7+
python|3.12.9|3.12.13
8+
pytorch|2.6.0|2.8.0
9+
altair|5.5.0|6.0.0
10+
boto3|1.37.3|1.42.70
11+
jupyter-lsp|2.3.0|2.3.1
12+
jupyterlab|4.5.5|4.5.6
13+
pip|25.3|26.0.1
14+
sagemaker-jupyterlab-extension-common|0.3.0|0.3.3
15+
jupyter-scheduler|2.11.0|2.12.0
16+
amazon-sagemaker-jupyter-scheduler|3.1.16|3.2.0
17+
amazon_sagemaker_sql_editor|0.1.21|0.2.1
18+
torchvision|0.21.0|0.24.0
19+
uvicorn|0.41.0|0.43.0
20+
notebook|7.5.4|7.5.5
21+
aws-s3-access-grants-boto3-plugin|1.2.0|1.3.0
22+
conda|25.11.1|26.1.1
23+
docker-cli|27.5.1|29.3.1
24+
fastapi|0.135.1|0.135.3
25+
jupyter-collaboration|3.1.2|4.3.0
26+
jupyter-server-proxy|4.4.0|4.5.0
27+
keras|3.13.2|3.14.0
28+
langchain-aws|0.2.19|0.2.35
29+
mcp|1.26.0|1.27.0
30+
mlflow|2.22.0|3.10.1
31+
s3fs|2024.12.0|2026.3.0
32+
sagemaker-code-editor|1.9.2|1.9.4
33+
sagemaker-gen-ai-jupyterlab-extension|1.0.14|1.0.15
34+
sagemaker-jupyterlab-extension|0.5.2|0.5.4
35+
sagemaker-python-sdk|2.245.0|3.7.1
36+
sagemaker-studio-dataengineering-extensions|1.3.7|1.3.8
37+
sagemaker-studio-dataengineering-sessions|1.3.13|1.3.18
38+
tensorflow|2.18.0|2.19.1
39+
uv|0.10.8|0.11.3
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Change log: 4.0.0(gpu)
2+
3+
## Upgrades:
4+
5+
Package | Previous Version | Current Version
6+
---|---|---
7+
python|3.12.9|3.12.13
8+
pytorch|2.6.0|2.8.0
9+
altair|5.5.0|6.0.0
10+
boto3|1.37.3|1.42.70
11+
jupyter-lsp|2.3.0|2.3.1
12+
jupyterlab|4.5.5|4.5.6
13+
pip|25.3|26.0.1
14+
sagemaker-jupyterlab-extension-common|0.3.0|0.3.3
15+
jupyter-scheduler|2.11.0|2.12.0
16+
amazon-sagemaker-jupyter-scheduler|3.1.16|3.2.0
17+
amazon_sagemaker_sql_editor|0.1.21|0.2.1
18+
torchvision|0.21.0|0.24.0
19+
uvicorn|0.41.0|0.43.0
20+
notebook|7.5.4|7.5.5
21+
aws-s3-access-grants-boto3-plugin|1.2.0|1.3.0
22+
conda|25.11.1|26.1.1
23+
docker-cli|27.5.1|29.3.1
24+
fastapi|0.135.1|0.135.3
25+
jupyter-collaboration|3.1.2|4.3.0
26+
jupyter-server-proxy|4.4.0|4.5.0
27+
keras|3.13.2|3.14.0
28+
langchain-aws|0.2.19|0.2.35
29+
mcp|1.26.0|1.27.0
30+
mlflow|2.22.0|3.10.1
31+
s3fs|2024.12.0|2026.3.0
32+
sagemaker-code-editor|1.9.2|1.9.4
33+
sagemaker-gen-ai-jupyterlab-extension|1.0.14|1.0.15
34+
sagemaker-jupyterlab-extension|0.5.2|0.5.4
35+
sagemaker-python-sdk|2.245.0|3.7.1
36+
sagemaker-studio-dataengineering-extensions|1.3.7|1.3.8
37+
sagemaker-studio-dataengineering-sessions|1.3.13|1.3.18
38+
tensorflow|2.18.0|2.19.1
39+
uv|0.10.8|0.11.3

0 commit comments

Comments
 (0)