File tree Expand file tree Collapse file tree 4 files changed +67
-18
lines changed Expand file tree Collapse file tree 4 files changed +67
-18
lines changed Original file line number Diff line number Diff line change 7
7
# environment for building the Unified Memory Framework project.
8
8
#
9
9
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
12
12
13
13
# Set environment variables
14
- ENV OS alpine
15
- ENV OS_VER 3.20
14
+ ENV OS= alpine
15
+ ENV OS_VER=3.21
16
16
17
17
# Base development packages
18
18
ARG BASE_DEPS="\
19
+ bash \
19
20
cmake \
20
21
git \
21
- g++ \
22
- make"
22
+ g++ \
23
+ make \
24
+ sudo"
23
25
24
26
# UMF's dependencies
25
27
ARG UMF_DEPS="\
26
28
hwloc-dev"
27
29
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"
33
33
34
34
# Update and install required packages
35
35
RUN apk update \
36
- && apk add \
36
+ && apk add --no-cache \
37
37
${BASE_DEPS} \
38
+ ${TEST_DEPS} \
38
39
${UMF_DEPS}
39
40
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
42
45
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 @@ -370,3 +370,28 @@ jobs:
370
370
371
371
SYCL :
372
372
uses : ./.github/workflows/reusable_sycl.yml
373
+
374
+ alpine :
375
+ name : Alpine
376
+ env :
377
+ HOST_WORKDIR : ${{github.workspace}}
378
+ WORKDIR : /unified-memory-framework
379
+ strategy :
380
+ matrix :
381
+ build_type : [Debug, Release]
382
+ runs-on : ubuntu-latest
383
+
384
+ steps :
385
+ - name : Checkout repository
386
+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
387
+ with :
388
+ fetch-depth : 0
389
+
390
+ - name : Build Alpine image
391
+ run : |
392
+ docker build . -f .github/docker/alpine-3.21.Dockerfile -t umf-alpine-3.21
393
+
394
+ - name : Run UMF build on Alpine image
395
+ run : |
396
+ docker run --rm -i -v $HOST_WORKDIR:$WORKDIR \
397
+ umf-alpine-3.21 $WORKDIR/.github/scripts/alpine_build.sh ${{matrix.build_type}} $WORKDIR
Original file line number Diff line number Diff line change @@ -19,13 +19,20 @@ jobs:
19
19
with :
20
20
fetch-depth : 0
21
21
22
+ - name : Manual Trivy Setup
23
+ uses : aquasecurity/setup-trivy@9ea583eb67910444b1f64abf338bd2e105a0a93d
24
+ with :
25
+ cache : true
26
+ version : v0.61.0
27
+
22
28
- name : Run Trivy
23
29
uses : aquasecurity/trivy-action@6c175e9c4083a92bbca2f9724c8a5e33bc2d97a5 # v0.30.0
24
30
with :
25
31
scan-type : ' config'
26
32
hide-progress : false
27
33
format : ' sarif'
28
34
output : ' trivy-results.sarif'
35
+ skip-setup-trivy : true
29
36
exit-code : 1 # Fail if issue found
30
37
# file with suppressions: .trivyignore (in root dir)
31
38
You can’t perform that action at this time.
0 commit comments