File tree Expand file tree Collapse file tree 3 files changed +60
-18
lines changed Expand file tree Collapse file tree 3 files changed +60
-18
lines changed Original file line number Diff line number Diff line change 77# environment for building the Unified Memory Framework project.
88#
99
10- # Pull base Alpine image version 3.20
11- FROM alpine:3.20
10+ # Pull base Alpine image version 3.21
11+ FROM registry.hub.docker.com/library/ alpine@sha256:a8560b36e8b8210634f77d9f7f9efd7ffa463e380b75e2e74aff4511df3ef88c
1212
1313# Set environment variables
14- ENV OS alpine
15- ENV OS_VER 3.20
14+ ENV OS= alpine
15+ ENV OS_VER=3.21
1616
1717# Base development packages
1818ARG BASE_DEPS="\
19+ bash \
1920 cmake \
2021 git \
21- g++ \
22- make"
22+ g++ \
23+ make \
24+ sudo"
2325
2426# UMF's dependencies
2527ARG UMF_DEPS="\
2628 hwloc-dev"
2729
28- # Add a new (non-root) 'test_user'
29- ENV USER test_user
30- ENV USERPASS pass
31- RUN useradd -m "${USER}" -g sudo -p "$(mkpasswd ${USERPASS})"
32- USER test_user
30+ # Dependencies for tests
31+ ARG TEST_DEPS="\
32+ numactl-dev"
3333
3434# Update and install required packages
3535RUN apk update \
36- && apk add \
36+ && apk add --no-cache \
3737 ${BASE_DEPS} \
38+ ${TEST_DEPS} \
3839 ${UMF_DEPS}
3940
40- # clone the repository
41- RUN git clone https://github.com/oneapi-src/unified-memory-framework.git
41+ # Add a new (non-root) 'test_user'
42+ ENV USER=test_user
43+ RUN adduser -D -G wheel ${USER}
44+ RUN echo '%wheel ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
4245
43- # build the project
44- RUN cd unified-memory-framework \
45- cmake -B build -DCMAKE_BUILD_TYPE=Release -DUMF_BUILD_TESTS=ON -DUMF_BUILD_EXAMPLES=OFF \
46- cmake --build build
46+ USER test_user
Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+ # Copyright (C) 2025 Intel Corporation
3+ # Under the Apache License v2.0 with LLVM Exceptions. See LICENSE.TXT.
4+ # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
5+
6+ # alpine_build.sh - Script for building UMF on Alpine image
7+
8+ set -e
9+
10+ UMF_BUILD_TYPE=$1
11+ WORKDIR=$2
12+
13+ sudo chown $USER $WORKDIR
14+ cd unified-memory-framework
15+
16+ cmake -B build -DCMAKE_BUILD_TYPE=$UMF_BUILD_TYPE -DUMF_BUILD_TESTS=ON -DUMF_BUILD_EXAMPLES=ON
17+ cmake --build build
Original file line number Diff line number Diff line change @@ -513,3 +513,28 @@ jobs:
513513
514514 SYCL :
515515 uses : ./.github/workflows/reusable_sycl.yml
516+
517+ alpine :
518+ name : Alpine
519+ env :
520+ HOST_WORKDIR : ${{github.workspace}}
521+ WORKDIR : /unified-memory-framework
522+ strategy :
523+ matrix :
524+ build_type : [Debug, Release]
525+ runs-on : ubuntu-latest
526+
527+ steps :
528+ - name : Checkout repository
529+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
530+ with :
531+ fetch-depth : 0
532+
533+ - name : Build Alpine image
534+ run : |
535+ docker build . -f .github/docker/alpine-3.21.Dockerfile -t umf-alpine-3.21
536+
537+ - name : Run UMF build on Alpine image
538+ run : |
539+ docker run --rm -i -v $HOST_WORKDIR:$WORKDIR \
540+ umf-alpine-3.21 $WORKDIR/.github/scripts/alpine_build.sh ${{matrix.build_type}} $WORKDIR
You can’t perform that action at this time.
0 commit comments