Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/root-ci-config/build_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ def remove_file_match_ext(directory: str, extension: str) -> str:
extension (str): The regular expression pattern to match filenames against.
"""
print_fancy(f"Removing gcda files from {directory}")
log.add(f"\nfind {directory} -name \*.gcda -exec rm {{}} \;")
log.add(f"\nfind {directory} -name \\*.gcda -exec rm {{}} \\;")
pattern = "." + extension
count = 0
for currentdir, _, files in os.walk(directory):
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
builtin_vdt=ON
builtin_zlib=ON
builtin_zstd=ON
80 changes: 80 additions & 0 deletions .github/workflows/root-ci-config/buildconfig/global-minimal.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
alien=OFF
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just as curiosity, why isn't the config just minimal=ON, without specifying any other build option?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is a good question. In this first approximation, I assumed there was a 'good' reason why those were explicitly off in the usual global.txt and keep all the setting that were OFF or were auxiliary but I may hare erred.

One other reason is that we wanted the options to be explicit rather than implicit and thus for the build to not depend on a change in the source code for the default to change. In the case of minimal this might actually be a detriment.

all=OFF
arrow=OFF
asan=OFF
asserts=OFF
builtin_cfitsio=OFF
builtin_clang=ON
builtin_cling=ON
builtin_cppzmq=ON
builtin_davix=OFF
builtin_fftw3=OFF
builtin_freetype=OFF
builtin_ftgl=OFF
builtin_gl2ps=OFF
builtin_glew=OFF
builtin_gsl=OFF
builtin_llvm=ON
builtin_lz4=OFF
builtin_lzma=OFF
builtin_nlohmannjson=OFF
builtin_openssl=OFF
builtin_openui5=ON
builtin_pcre=OFF
builtin_tbb=OFF
builtin_unuran=OFF
builtin_vc=OFF
builtin_vdt=OFF
builtin_veccore=OFF
builtin_xrootd=OFF
builtin_xxhash=OFF
builtin_zeromq=ON
builtin_zlib=OFF
builtin_zstd=OFF
ccache=ON
cefweb=OFF
check_connection=OFF
clingtest=OFF
cocoa=OFF
coverage=OFF
cuda=OFF
daos=OFF
dcache=OFF
dev=OFF
distcc=OFF
fail-on-missing=ON
fcgi=OFF
gminimal=OFF
gnuinstall=OFF
gsl_shared=OFF
gviz=OFF
jemalloc=OFF
libcxx=OFF
macos_native=OFF
memory_termination=OFF
minimal=ON
mpi=OFF
pythia8=OFF
qt6web=OFF
r=OFF
rootbench=OFF
roottest=ON
runtime_cxxmodules=ON
shadowpw=OFF
shared=ON
soversion=OFF
tcmalloc=OFF
testing=ON
tmva-gpu=OFF
tmva-cudnn=OFF
tmva-pymva=OFF
tmva-rmva=OFF
tmva-sofie=OFF
unfold=ON
unuran=ON
uring=OFF
vc=OFF
veccore=OFF
vecgeom=OFF
win_broken_tests=OFF
winrtdebug=OFF
2 changes: 1 addition & 1 deletion .github/workflows/root-ci-config/buildconfig/global.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ davix=ON
dcache=OFF
dev=OFF
distcc=OFF
fail-on-missing=On
fail-on-missing=ON
fcgi=OFF
fftw3=ON
fitsio=ON
Expand Down
31 changes: 24 additions & 7 deletions .github/workflows/root-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ jobs:
- ${{ matrix.platform }}

name: |
${{ matrix.platform }} ${{ matrix.arch }}
${{ matrix.platform }} ${{ matrix.arch }}
${{ (github.event_name != 'schedule' && github.event_name != 'workflow_dispatch' && join( matrix.overrides, ', ' )) || '' }}

steps:
Expand Down Expand Up @@ -159,15 +159,15 @@ jobs:

- name: Set up curl CA bundle for Davix to work with https
run: 'echo SSL_CERT_FILE=/opt/local/share/curl/curl-ca-bundle.crt >> $GITHUB_ENV'

- name: Pull Request Build
shell: bash -leo pipefail {0}
if: github.event_name == 'pull_request'
env:
HOME: /Users/sftnight
INCREMENTAL: ${{ !contains(github.event.pull_request.labels.*.name, 'clean build') && !matrix.platform == 'mac15' && !matrix.platform == 'mac26'}}
GITHUB_PR_ORIGIN: ${{ github.event.pull_request.head.repo.clone_url }}
run: ".github/workflows/root-ci-config/build_root.py
run: ".github/workflows/root-ci-config/build_root.py
--buildtype RelWithDebInfo
--incremental $INCREMENTAL
--base_ref ${{ github.base_ref }}
Expand All @@ -181,7 +181,7 @@ jobs:
- name: Workflow dispatch
shell: bash -leo pipefail {0}
if: ${{ github.event_name == 'workflow_dispatch' && !matrix.is_special }}
run: ".github/workflows/root-ci-config/build_root.py
run: ".github/workflows/root-ci-config/build_root.py
--buildtype ${{ inputs.buildtype }}
--platform ${{ matrix.platform }}
--incremental ${{ inputs.incremental }}
Expand All @@ -193,7 +193,7 @@ jobs:
- name: Nightly build
shell: bash -leo pipefail {0}
if: github.event_name == 'schedule'
run: ".github/workflows/root-ci-config/build_root.py
run: ".github/workflows/root-ci-config/build_root.py
--buildtype Release
--platform ${{ matrix.platform }}
--incremental false
Expand All @@ -204,7 +204,7 @@ jobs:
- name: Update build cache after push to release branch
shell: bash -leo pipefail {0}
if: github.event_name == 'push'
run: ".github/workflows/root-ci-config/build_root.py
run: ".github/workflows/root-ci-config/build_root.py
--buildtype RelWithDebInfo
--platform ${{ matrix.platform }}
--incremental false
Expand Down Expand Up @@ -383,6 +383,10 @@ jobs:
- image: alma9
overrides: ["CMAKE_BUILD_TYPE=Debug"]
- image: alma10
# Minimal build
- image: alma10
minimal: true
property: "Minimal build"
- image: ubuntu22
overrides: ["imt=Off", "CMAKE_BUILD_TYPE=Debug"]
- image: ubuntu2404
Expand Down Expand Up @@ -418,7 +422,7 @@ jobs:
is_special: true
property: "Fedora pydebug"
overrides: ["CMAKE_CXX_STANDARD=23"]
# Disable GPU builds until the DNS problem is solved
# Disable GPU builds until the DNS problem is solved
# - image: ubuntu2404-cuda
# is_special: true
# property: gpu
Expand Down Expand Up @@ -490,6 +494,19 @@ jobs:
run: 'printf "%s@%s\\n" "$(whoami)" "$(hostname)";
ls -la
'
- name: Apply option minimal request from matrix for this job
if: ${{ matrix.minimal == true }}
env:
GLOBAL_CONFIG_DIR: '.github/workflows/root-ci-config/buildconfig'
CONFIGFILE_STEM: '.github/workflows/root-ci-config/buildconfig/${{ matrix.image }}'
run: |
echo "Applying minimal request options"
# Add commands to apply minimal request options here
set -x
cp "$GLOBAL_CONFIG_DIR/global-minimal.txt" "$GLOBAL_CONFIG_DIR/global.txt"
if [ -f "${CONFIGFILE_STEM}-minimal.txt" ]; then
cp "${CONFIGFILE_STEM}-minimal.txt" "${CONFIGFILE_STEM}.txt"
fi

- name: Apply option overrides from matrix for this job for all builds except non-special nightlies and releases
if: ${{ ( github.event_name != 'schedule' || matrix.is_special) && github.event_name != 'workflow_dispatch' && matrix.overrides != NaN }}
Expand Down
Loading