Skip to content

Commit 74d4e9d

Browse files
authored
[CI] Add Ubuntu 24.04 base image (#16250)
dev-igc requites Ubuntu 24.04 now (because of glibc requirement). I need to update the dev-igc container creation/run to use Ubuntu 24.04, but first I need to add the base image that I can base the dev-igc image on, it can't be done in the same PR. The changes to the install script are because of changes in 24.04, there should be no net effect. Some of the Docker CI runs are going to fail here, but they will fail in every PR even without this change because of the new dev-igc requirement, we just need to make sure the new container I added here passes, which it [did](https://github.com/intel/llvm/actions/runs/12145849016/job/33868646520?pr=16250). --------- Signed-off-by: Sarnie, Nick <[email protected]>
1 parent 250d663 commit 74d4e9d

File tree

4 files changed

+41
-5
lines changed

4 files changed

+41
-5
lines changed

.github/workflows/sycl-containers.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@ jobs:
3939
file: ubuntu2204_base
4040
tag: latest
4141
build_args: ""
42+
- name: Base Ubuntu 24.04 Docker image
43+
file: ubuntu2404_base
44+
tag: latest
45+
build_args: ""
4246
- name: Build Ubuntu Docker image
4347
file: ubuntu2204_build
4448
tag: latest
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
FROM ubuntu:24.04
2+
3+
ENV DEBIAN_FRONTEND=noninteractive
4+
5+
USER root
6+
7+
# Install SYCL prerequisites
8+
COPY scripts/install_build_tools.sh /install.sh
9+
RUN /install.sh
10+
11+
# By default Ubuntu sets an arbitrary UID value, that is different from host
12+
# system. When CI passes default UID value of 1001, some of LLVM tools fail to
13+
# discover user home directory and fail a few LIT tests. Fixes UID and GID to
14+
# 1001, that is used as default by GitHub Actions.
15+
RUN groupadd -g 1001 sycl && useradd sycl -u 1001 -g 1001 -m -s /bin/bash
16+
# Add sycl user to video/irc groups so that it can access GPU
17+
RUN usermod -aG video sycl
18+
RUN usermod -aG irc sycl
19+
20+
# group 109 is required for sycl user to access PVC card.
21+
RUN groupadd -g 109 render
22+
RUN usermod -aG render sycl
23+
24+
# Allow sycl user to run as sudo
25+
RUN echo "sycl ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
26+
27+
COPY actions/cached_checkout /actions/cached_checkout
28+
COPY actions/cleanup /actions/cleanup
29+
COPY scripts/docker_entrypoint.sh /docker_entrypoint.sh
30+
COPY scripts/install_drivers.sh /opt/install_drivers.sh
31+
32+
ENTRYPOINT ["/docker_entrypoint.sh"]

devops/scripts/install_build_tools.sh

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ apt update && apt install -yqq \
77
ccache \
88
git \
99
python3 \
10-
python3-distutils \
10+
python3-psutil \
1111
python-is-python3 \
1212
python3-pip \
1313
zstd \
@@ -26,5 +26,3 @@ apt update && apt install -yqq \
2626
libhwloc-dev \
2727
libzstd-dev
2828

29-
pip3 install psutil
30-

sycl/doc/developer/DockerBKMs.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,10 @@ identical for Docker and Podman. Choose whatever is available on your system.
3636

3737
The following containers are publicly available for DPC++ compiler development:
3838

39-
- `ghcr.io/intel/llvm/ubuntu2204_base`: contains basic environment setup for
40-
building DPC++ compiler from source.
39+
- `ghcr.io/intel/llvm/ubuntu2204_base`: contains basic Ubuntu 22.04 environment
40+
setup for building DPC++ compiler from source.
41+
- `ghcr.io/intel/llvm/ubuntu2404_base`: contains basic Ubuntu 24.04 environment
42+
setup for building DPC++ compiler from source.
4143
- `ghcr.io/intel/llvm/ubuntu2204_intel_drivers`: contains everything from the
4244
base container + pre-installed Intel drivers.
4345
The image comes in four flavors/tags:

0 commit comments

Comments
 (0)