Skip to content

Commit dc10336

Browse files
committed
corrections
1 parent ae65dbf commit dc10336

9 files changed

+69
-96
lines changed

.github/docker/ubuntu-20.04.Dockerfile

+5-11
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,8 @@ ARG BASE_DEPS="\
2424

2525
# Hwloc installation dependencies
2626
ARG HWLOC_DEPS="\
27-
dos2unix \
2827
libtool"
2928

30-
# Copy hwloc
31-
# libhwloc-dev is required - installed via script because hwloc version is to old on this OS
32-
COPY .github/scripts/install_hwloc.sh /opt/umf/install_hwloc.sh
33-
34-
# UMF's dependencies
35-
ARG UMF_DEPS="\
36-
libtbb-dev"
37-
3829
# Dependencies for tests (optional)
3930
ARG TEST_DEPS="\
4031
libnuma-dev \
@@ -46,10 +37,13 @@ ARG MISC_DEPS="\
4637
automake \
4738
clang \
4839
g++-7 \
40+
lcov \
4941
python3-pip \
5042
sudo \
51-
whois \
52-
lcov"
43+
whois"
44+
45+
# libhwloc-dev is required - installed via script because hwloc version is too old on this OS
46+
COPY .github/scripts/install_hwloc.sh /opt/umf/install_hwloc.sh
5347

5448
# Update and install required packages
5549
RUN apt-get update \

.github/docker/ubuntu-22.04.Dockerfile

+6-4
Original file line numberDiff line numberDiff line change
@@ -21,26 +21,28 @@ ARG BASE_DEPS="\
2121
build-essential \
2222
cmake \
2323
git \
24-
libtool"
24+
gnupg \
25+
libtool \
26+
wget"
2527

2628
# UMF's dependencies
2729
ARG UMF_DEPS="\
28-
libtbb-dev \
2930
libhwloc-dev"
3031

3132
# Dependencies for tests (optional)
3233
ARG TEST_DEPS="\
3334
libnuma-dev \
35+
libtbb-dev \
3436
valgrind"
3537

3638
# Miscellaneous for our builds/CI (optional)
3739
ARG MISC_DEPS="\
3840
automake \
3941
clang \
42+
lcov \
4043
python3-pip \
4144
sudo \
42-
whois \
43-
lcov"
45+
whois"
4446

4547
# Update and install required packages
4648
RUN apt-get update \

.github/docker/ubuntu-24.04.Dockerfile

+5-5
Original file line numberDiff line numberDiff line change
@@ -21,26 +21,27 @@ ARG BASE_DEPS="\
2121
build-essential \
2222
cmake \
2323
git \
24-
gnupg"
24+
gnupg \
25+
wget"
2526

2627
# UMF's dependencies
2728
ARG UMF_DEPS="\
28-
libtbb-dev \
2929
libhwloc-dev"
3030

3131
# Dependencies for tests (optional)
3232
ARG TEST_DEPS="\
3333
libnuma-dev \
34+
libtbb-dev \
3435
valgrind"
3536

3637
# Miscellaneous for our builds/CI (optional)
3738
ARG MISC_DEPS="\
3839
automake \
3940
clang \
41+
lcov \
4042
python3-pip \
4143
sudo \
42-
whois \
43-
lcov"
44+
whois"
4445

4546
# Update and install required packages
4647
RUN apt-get update \
@@ -64,4 +65,3 @@ ENV USER test_user
6465
ENV USERPASS pass
6566
RUN useradd -m "${USER}" -g sudo -p "$(mkpasswd ${USERPASS})"
6667
USER test_user
67-
#

.github/workflows/detect_changes.yml

+3-5
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,8 @@ on:
1010

1111
permissions:
1212
contents: read
13-
packages: read
1413

15-
jobs:
14+
jobs:
1615
DetectChanges:
1716
runs-on: ubuntu-latest
1817
outputs:
@@ -25,7 +24,7 @@ jobs:
2524

2625
- name: Get changed files
2726
id: changed-files
28-
uses: tj-actions/changed-files@v45.0.3
27+
uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c #v46.0.5
2928

3029
- name: List all changed files
3130
env:
@@ -35,10 +34,9 @@ jobs:
3534
3635
RunReusableDocker:
3736
needs: DetectChanges
38-
runs-on: ubuntu-latest
3937
if: ${{ contains(join(needs.DetectChanges.outputs.changed_files, ' '), '.github/docker/') }}
38+
uses: ./.github/workflows/reusable_dockers_build.yml
4039
permissions:
4140
contents: read
4241
packages: write
4342
secrets: inherit
44-
uses: ./.github/workflows/reusable_dockers_build.yml

.github/workflows/pr_push.yml

+1-45
Original file line numberDiff line numberDiff line change
@@ -19,62 +19,27 @@ permissions:
1919
jobs:
2020
CodeChecks:
2121
uses: ./.github/workflows/reusable_checks.yml
22-
DocsBuild:
23-
uses: ./.github/workflows/reusable_docs_build.yml
24-
# DetectChanges:
25-
# runs-on: ubuntu-latest
26-
# outputs:
27-
# changed_files: ${{ steps.changed-files.outputs.all_changed_files }}
28-
# steps:
29-
# - name: Checkout code
30-
# uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
31-
# with:
32-
# fetch-depth: 0
33-
34-
# - name: Get changed files
35-
# id: changed-files
36-
# uses: tj-actions/changed-files@v45.0.3
37-
38-
# - name: List all changed files
39-
# env:
40-
# ALL_CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
41-
# run: |
42-
# echo "Changed files: ${{ steps.changed-files.outputs.all_changed_files }}"
43-
# BuildDockers:
44-
# if: ${{ contains(join(needs.DetectChanges.outputs.changed_files, ' '), '.github/docker/') }}
45-
# needs: [DetectChanges]
46-
# permissions:
47-
# contents: read
48-
# packages: write
49-
# secrets: inherit
50-
# uses: ./.github/workflows/reusable_dockers_build.yml
5122
FastBuild:
52-
# if: always() && (needs.BuildDockers.result == 'skipped' || needs.BuildDockers.result == 'success')
53-
needs: [CodeChecks, DocsBuild]
23+
needs: [CodeChecks]
5424
uses: ./.github/workflows/reusable_fast.yml
5525
Build:
5626
name: Basic builds
57-
# if: always() && (needs.FastBuild.result == 'success')
5827
needs: [FastBuild]
5928
uses: ./.github/workflows/reusable_basic.yml
6029
DevDax:
61-
# if: always() && (needs.FastBuild.result == 'success')
6230
needs: [FastBuild]
6331
uses: ./.github/workflows/reusable_dax.yml
6432
MultiNuma:
65-
# if: always() && (needs.FastBuild.result == 'success')
6633
needs: [FastBuild]
6734
uses: ./.github/workflows/reusable_multi_numa.yml
6835
L0:
69-
# if: always() && (needs.Build.result == 'success')
7036
needs: [Build]
7137
uses: ./.github/workflows/reusable_gpu.yml
7238
with:
7339
provider: "LEVEL_ZERO"
7440
runner: "L0"
7541
shared_lib: "['ON']"
7642
L0-BMG:
77-
# if: always() && (needs.Build.result == 'success')
7843
needs: [Build]
7944
uses: ./.github/workflows/reusable_gpu.yml
8045
with:
@@ -83,29 +48,24 @@ jobs:
8348
shared_lib: "['ON']"
8449
os: "['Ubuntu']"
8550
CUDA:
86-
# if: always() && (needs.Build.result == 'success')
8751
needs: [Build]
8852
uses: ./.github/workflows/reusable_gpu.yml
8953
with:
9054
provider: "CUDA"
9155
runner: "CUDA"
9256
shared_lib: "['ON']"
9357
Sanitizers:
94-
# if: always() && (needs.FastBuild.result == 'success')
9558
needs: [FastBuild]
9659
uses: ./.github/workflows/reusable_sanitizers.yml
9760
QEMU:
98-
# if: always() && (needs.FastBuild.result == 'success')
9961
needs: [FastBuild]
10062
uses: ./.github/workflows/reusable_qemu.yml
10163
with:
10264
short_run: true
10365
ProxyLib:
104-
# if: always() && (needs.Build.result == 'success')
10566
needs: [Build]
10667
uses: ./.github/workflows/reusable_proxy_lib.yml
10768
Valgrind:
108-
# if: always() && (needs.Build.result == 'success')
10969
needs: [Build]
11070
uses: ./.github/workflows/reusable_valgrind.yml
11171
Coverage:
@@ -118,26 +78,22 @@ jobs:
11878
trigger: "${{github.event_name}}"
11979
Coverage_partial:
12080
# partial coverage (on forks)
121-
# if: github.repository != 'oneapi-src/unified-memory-framework' && always() && (needs.Build.result == 'success')
12281
if: github.repository != 'oneapi-src/unified-memory-framework'
12382
needs: [Build, QEMU, ProxyLib]
12483
uses: ./.github/workflows/reusable_coverage.yml
12584
CodeQL:
126-
# if: always() && (needs.Build.result == 'success')
12785
needs: [Build]
12886
permissions:
12987
contents: read
13088
security-events: write
13189
uses: ./.github/workflows/reusable_codeql.yml
13290
Trivy:
133-
# if: always() && (needs.Build.result == 'success')
13491
needs: [Build]
13592
permissions:
13693
contents: read
13794
security-events: write
13895
uses: ./.github/workflows/reusable_trivy.yml
13996
Compatibility:
140-
# if: always() && (needs.Build.result == 'success')
14197
needs: [Build]
14298
uses: ./.github/workflows/reusable_compatibility.yml
14399
strategy:

.github/workflows/reusable_basic.yml

+36-13
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@ jobs:
1818
name: Ubuntu
1919
runs-on: ubuntu-latest
2020
container:
21-
# image: ghcr.io/bb-ur/umf-ubuntu-${{ matrix.ubuntu_ver }}:latest
22-
image: ghcr.io/rbanka1/umf-ubuntu-${{ matrix.ubuntu_ver }}:latest # test
21+
image: ghcr.io/bb-ur/umf-ubuntu-${{ matrix.ubuntu_ver }}:latest
2322
options: --user root --privileged
2423
volumes:
2524
- ${{ github.workspace }}:${{ github.workspace }}
@@ -45,6 +44,8 @@ jobs:
4544
install_tbb: 'ON'
4645
disable_hwloc: 'OFF'
4746
link_hwloc_statically: 'OFF'
47+
# check minimum supported cmake version
48+
cmake_ver: '3.14.0'
4849
- ubuntu_ver: 22.04
4950
build_type: Release
5051
compiler: {c: gcc, cxx: g++}
@@ -54,6 +55,7 @@ jobs:
5455
install_tbb: 'ON'
5556
disable_hwloc: 'OFF'
5657
link_hwloc_statically: 'OFF'
58+
cmake_ver: '3.28.0'
5759
- ubuntu_ver: 24.04
5860
build_type: Debug
5961
compiler: {c: gcc, cxx: g++}
@@ -97,6 +99,7 @@ jobs:
9799
disable_hwloc: 'OFF'
98100
link_hwloc_statically: 'OFF'
99101
llvm_linker: '-DCMAKE_EXE_LINKER_FLAGS="-fuse-ld=lld" -DCMAKE_MODULE_LINKER_FLAGS="-fuse-ld=lld" -DCMAKE_SHARED_LINKER_FLAGS="-fuse-ld=lld"'
102+
cmake_ver: 'default'
100103
# test without installing TBB
101104
- ubuntu_ver: 22.04
102105
build_type: Release
@@ -107,6 +110,7 @@ jobs:
107110
install_tbb: 'OFF'
108111
disable_hwloc: 'OFF'
109112
link_hwloc_statically: 'OFF'
113+
cmake_ver: 'default'
110114
- ubuntu_ver: 22.04
111115
build_type: Debug
112116
compiler: {c: gcc, cxx: g++}
@@ -116,6 +120,7 @@ jobs:
116120
install_tbb: 'ON'
117121
disable_hwloc: 'ON'
118122
link_hwloc_statically: 'OFF'
123+
cmake_ver: 'default'
119124
- ubuntu_ver: 22.04
120125
build_type: Release
121126
compiler: {c: gcc, cxx: g++}
@@ -125,21 +130,41 @@ jobs:
125130
install_tbb: 'ON'
126131
disable_hwloc: 'OFF'
127132
link_hwloc_statically: 'ON'
133+
cmake_ver: 'default'
128134
steps:
129135
- name: Checkout
130136
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
131137
with:
132138
fetch-depth: 0
133139

140+
- name: Install cmake (non-default version)
141+
if: matrix.cmake_ver != 'default'
142+
run: |
143+
apt-get remove --purge -y cmake
144+
wget https://github.com/Kitware/CMake/releases/download/v${{matrix.cmake_ver}}/cmake-${{matrix.cmake_ver}}-Linux-x86_64.sh
145+
chmod +x cmake-${{matrix.cmake_ver}}-Linux-x86_64.sh
146+
./cmake-${{matrix.cmake_ver}}-Linux-x86_64.sh --skip-license --prefix=/usr/local
147+
148+
- name: Uninstall TBB apt package
149+
if: matrix.install_tbb == 'OFF'
150+
run: |
151+
apt-get remove --purge -y libtbb-dev
152+
134153
- name: Install oneAPI basekit
135154
if: matrix.compiler.cxx == 'icpx'
136155
run: |
137-
sudo apt-get update
138-
sudo apt-get install -y gpg-agent wget
139-
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
140-
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
141-
sudo apt-get update
142-
sudo apt-get install -y intel-oneapi-ippcp-devel intel-oneapi-ipp-devel intel-oneapi-common-oneapi-vars intel-oneapi-compiler-dpcpp-cpp
156+
apt-get update
157+
apt-get install -y gpg-agent
158+
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor -o /usr/share/keyrings/oneapi-archive-keyring.gpg
159+
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" > /etc/apt/sources.list.d/oneAPI.list
160+
apt-get update
161+
apt-get install -y intel-oneapi-ippcp-devel intel-oneapi-ipp-devel intel-oneapi-common-oneapi-vars intel-oneapi-compiler-dpcpp-cpp
162+
163+
- name: Get UMF version
164+
run: |
165+
git config --global --add safe.directory $GITHUB_WORKSPACE
166+
VERSION=$(git describe --tags --abbrev=0 | grep -oP '\d+\.\d+\.\d+')
167+
echo "UMF_VERSION=$VERSION" >> $GITHUB_ENV
143168
144169
- name: Configure build
145170
run: >
@@ -160,6 +185,7 @@ jobs:
160185
-DUMF_DISABLE_HWLOC=${{matrix.disable_hwloc}}
161186
-DUMF_LINK_HWLOC_STATICALLY=${{matrix.link_hwloc_statically}}
162187
${{ matrix.build_type == 'Debug' && matrix.compiler.c == 'gcc' && '-DUMF_USE_COVERAGE=ON' || '' }}
188+
${{ matrix.llvm_linker || '' }}
163189
164190
- name: Build UMF
165191
run: |
@@ -172,14 +198,11 @@ jobs:
172198
${{ matrix.compiler.cxx == 'icpx' && '. /opt/intel/oneapi/setvars.sh' || true }}
173199
LD_LIBRARY_PATH="${{env.BUILD_DIR}}/lib/:${LD_LIBRARY_PATH}" ctest --output-on-failure
174200
175-
- name: Set OS name
176-
run: echo "OS_VER=ubuntu-${{ matrix.ubuntu_ver }}" >> $GITHUB_ENV
177-
178201
- name: Check coverage
179202
if: ${{ matrix.build_type == 'Debug' && matrix.compiler.c == 'gcc' }}
180203
working-directory: ${{env.BUILD_DIR}}
181204
run: |
182-
export COVERAGE_FILE_NAME=${{env.COVERAGE_NAME}}-${{env.OS_VER}}-shared-${{matrix.shared_library}}-no_hwloc-${{matrix.disable_hwloc}}
205+
export COVERAGE_FILE_NAME=${{env.COVERAGE_NAME}}-ubuntu-${{matrix.ubuntu_ver}}-shared-${{matrix.shared_library}}-no_hwloc-${{matrix.disable_hwloc}}
183206
echo "COVERAGE_FILE_NAME: $COVERAGE_FILE_NAME"
184207
../scripts/coverage/coverage_capture.sh $COVERAGE_FILE_NAME
185208
mkdir -p ${{env.COVERAGE_DIR}}
@@ -188,7 +211,7 @@ jobs:
188211
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
189212
if: ${{ matrix.build_type == 'Debug' && matrix.compiler.c == 'gcc' }}
190213
with:
191-
name: ${{env.COVERAGE_NAME}}-${{env.OS_VER}}-shared-${{matrix.shared_library}}-no_hwloc-${{matrix.disable_hwloc}}
214+
name: ${{env.COVERAGE_NAME}}-${{matrix.ubuntu_ver}}-shared-${{matrix.shared_library}}-no_hwloc-${{matrix.disable_hwloc}}
192215
path: ${{env.COVERAGE_DIR}}
193216

194217
- name: Remove the installation directory

0 commit comments

Comments
 (0)