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
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
builtin_vdt=ON
builtin_zlib=ON
builtin_zstd=ON
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
ccache=ON
fail-on-missing=ON
minimal=ON
roottest=ON
testing=ON
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
17 changes: 17 additions & 0 deletions .github/workflows/root-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@
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 }}
OVERRIDES: ${{ join( matrix.overrides, ' ') }}
run: |

Check failure on line 159 in .github/workflows/root-ci.yml

View workflow job for this annotation

GitHub Actions / lint-action-files

"github.event.pull_request.head.ref" is potentially untrusted. avoid using it directly in inline scripts. instead, pass it through an environment variable. see https://docs.github.com/en/actions/reference/security/secure-use#good-practices-for-mitigating-script-injection-attacks for more details

Check failure on line 159 in .github/workflows/root-ci.yml

View workflow job for this annotation

GitHub Actions / lint-action-files

"github.event.pull_request.head.ref" is potentially untrusted. avoid using it directly in inline scripts. instead, pass it through an environment variable. see https://docs.github.com/en/actions/reference/security/secure-use#good-practices-for-mitigating-script-injection-attacks for more details
[ -d "${VIRTUAL_ENV_DIR}" ] && source ${VIRTUAL_ENV_DIR}/bin/activate
echo "Python is now $(which python3) $(python3 --version)"
src/.github/workflows/root-ci-config/build_root.py \
Expand Down Expand Up @@ -286,7 +286,7 @@
INCREMENTAL: ${{ !contains(github.event.pull_request.labels.*.name, 'clean build') }}
GITHUB_PR_ORIGIN: ${{ github.event.pull_request.head.repo.clone_url }}
shell: cmd
run: "C:\\setenv.bat ${{ matrix.target_arch }} &&

Check failure on line 289 in .github/workflows/root-ci.yml

View workflow job for this annotation

GitHub Actions / lint-action-files

"github.event.pull_request.head.ref" is potentially untrusted. avoid using it directly in inline scripts. instead, pass it through an environment variable. see https://docs.github.com/en/actions/reference/security/secure-use#good-practices-for-mitigating-script-injection-attacks for more details

Check failure on line 289 in .github/workflows/root-ci.yml

View workflow job for this annotation

GitHub Actions / lint-action-files

"github.event.pull_request.head.ref" is potentially untrusted. avoid using it directly in inline scripts. instead, pass it through an environment variable. see https://docs.github.com/en/actions/reference/security/secure-use#good-practices-for-mitigating-script-injection-attacks for more details
python .github/workflows/root-ci-config/build_root.py
--buildtype ${{ matrix.config }}
--platform windows10
Expand Down Expand Up @@ -385,6 +385,10 @@
- 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 @@ -428,7 +432,7 @@
- self-hosted
- linux
- ${{ matrix.architecture == null && 'x64' || matrix.architecture }}
- ${{ matrix.extra-runs-on == null && 'cpu' || matrix.extra-runs-on }}

Check failure on line 435 in .github/workflows/root-ci.yml

View workflow job for this annotation

GitHub Actions / lint-action-files

property "extra-runs-on" is not defined in object type {architecture: string; cmake_generator: string; image: string; is_special: bool; minimal: bool; overrides: array<string>; property: string}

Check failure on line 435 in .github/workflows/root-ci.yml

View workflow job for this annotation

GitHub Actions / lint-action-files

property "extra-runs-on" is not defined in object type {architecture: string; cmake_generator: string; image: string; is_special: bool; minimal: bool; overrides: array<string>; property: string}

Check failure on line 435 in .github/workflows/root-ci.yml

View workflow job for this annotation

GitHub Actions / lint-action-files

property "extra-runs-on" is not defined in object type {architecture: string; cmake_generator: string; image: string; is_special: bool; minimal: bool; overrides: array<string>; property: string}

Check failure on line 435 in .github/workflows/root-ci.yml

View workflow job for this annotation

GitHub Actions / lint-action-files

property "extra-runs-on" is not defined in object type {architecture: string; cmake_generator: string; image: string; is_special: bool; minimal: bool; overrides: array<string>; property: string}

name: |
${{ matrix.image }} ${{ matrix.property }}
Expand Down Expand Up @@ -490,6 +494,19 @@
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
Comment on lines +497 to +509
Copy link
Contributor

Choose a reason for hiding this comment

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

IMHO this mechanism only makes sense if we plan to have minimal builds on multiple platforms (which I'd argue is not worth it). Otherwise we gain nothing by splitting global-minimal.txt and alma10-minimal.txt.

Why not just merge global-minimal.txt into alma10-minimal.txt, making sure that all flags set by global.txt are overridden if necessary?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Thanks. Letting @pcanal comment on that (I just did a rebase of his work to see where we were standing.)

Copy link
Member

Choose a reason for hiding this comment

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

making sure that all flags set by global.txt are overridden if necessary?

I think that would be defeating the purpose, see the new version of global.txt which actually match the semantic of minimal: nothing set except minimal and test ... with only 2 debatable addition: ccache to reduce turn around and fail-on-missing which may or may not be meaningful here.

The options set in alma10 are to only account for platform dependent behavior (and I guess vdt probably should not be there - we need to try to remove it before merging).


- uses: root-project/gcc-problem-matcher-improved@main
with:
Expand Down
37 changes: 19 additions & 18 deletions test/PostInstall/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,22 +18,23 @@ if(BUILD_TESTING)
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
set_tests_properties(run-hsimple PROPERTIES FIXTURES_SETUP HSIMPLE)
set_tests_properties(read-hsimple PROPERTIES FIXTURES_REQUIRED HSIMPLE)

find_package(Python3 3.9 REQUIRED)
# Need to duplicate the import ROOT test because the PASS_REGULAR_EXPRESSION
# property will disable checking the exit code of the test so import ROOT
# might fail but ctest would not report it
add_test(NAME python-import-root
COMMAND ${Python3_EXECUTABLE} -c "import ROOT"
)
set_tests_properties(python-import-root
PROPERTIES ENVIRONMENT PYTHONPATH=${ROOT_LIBRARY_DIR}
)
add_test(NAME python-create-histo
COMMAND ${Python3_EXECUTABLE} -c "import ROOT; h = ROOT.TH1D(\"myHistoName\",\"h\", 100, -5, 5); print(h.GetName());"
)
set_tests_properties(python-create-histo
PROPERTIES ENVIRONMENT PYTHONPATH=${ROOT_LIBRARY_DIR}
PASS_REGULAR_EXPRESSION "myHistoName"
)
if(ROOT_pyroot_FOUND)
find_package(Python3 3.9 REQUIRED)
# Need to duplicate the import ROOT test because the PASS_REGULAR_EXPRESSION
# property will disable checking the exit code of the test so import ROOT
# might fail but ctest would not report it
add_test(NAME python-import-root
COMMAND ${Python3_EXECUTABLE} -c "import ROOT"
)
set_tests_properties(python-import-root
PROPERTIES ENVIRONMENT PYTHONPATH=${ROOT_LIBRARY_DIR}
)
add_test(NAME python-create-histo
COMMAND ${Python3_EXECUTABLE} -c "import ROOT; h = ROOT.TH1D(\"myHistoName\",\"h\", 100, -5, 5); print(h.GetName());"
)
set_tests_properties(python-create-histo
PROPERTIES ENVIRONMENT PYTHONPATH=${ROOT_LIBRARY_DIR}
PASS_REGULAR_EXPRESSION "myHistoName"
)
endif()
endif()
Loading