Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jenkins improvememts #107

Merged
310 commits merged into from
Jun 8, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
310 commits
Select commit Hold shift + click to select a range
e94f659
WIP
dagardner-nv May 9, 2022
3256997
WIP
dagardner-nv May 9, 2022
0e56b92
WIP
dagardner-nv May 9, 2022
0dc4edf
WIP
dagardner-nv May 9, 2022
0a38170
WIP
dagardner-nv May 9, 2022
e613ff9
WIP
dagardner-nv May 9, 2022
5c2bbca
WIP
dagardner-nv May 9, 2022
9adeea3
WIP
dagardner-nv May 9, 2022
ddca7d5
WIP
dagardner-nv May 9, 2022
0960a54
WIP
dagardner-nv May 9, 2022
ce6577f
WIP
dagardner-nv May 9, 2022
02ff4dd
WIP
dagardner-nv May 9, 2022
bf7f32f
WIP
dagardner-nv May 9, 2022
f78aa4e
WIP
dagardner-nv May 9, 2022
2c3082c
WIP
dagardner-nv May 9, 2022
57ea894
WIP
dagardner-nv May 9, 2022
9a544bc
WIP
dagardner-nv May 9, 2022
8ce942c
WIP
dagardner-nv May 9, 2022
276b65f
WIP
dagardner-nv May 9, 2022
fbed9a9
WIP
dagardner-nv May 9, 2022
f0dbfb0
WIP
dagardner-nv May 9, 2022
a424bcb
WIP
dagardner-nv May 9, 2022
0650df5
WIP
dagardner-nv May 9, 2022
1eff2fc
WIP
dagardner-nv May 9, 2022
d3d2479
WIP
dagardner-nv May 9, 2022
8ffe22a
WIP
dagardner-nv May 9, 2022
3d3f0e6
WIP
dagardner-nv May 10, 2022
476fee1
WIP
dagardner-nv May 10, 2022
214e5d4
WIP
dagardner-nv May 10, 2022
7228033
WIP
dagardner-nv May 10, 2022
6ffbf38
WIP
dagardner-nv May 10, 2022
7027cac
WIP
dagardner-nv May 10, 2022
8be0462
WIP
dagardner-nv May 10, 2022
a6d2efd
WIP
dagardner-nv May 10, 2022
5186d32
WIP
dagardner-nv May 10, 2022
6c3c82a
WIP
dagardner-nv May 10, 2022
5e2e343
WIP
dagardner-nv May 10, 2022
47dcbdc
Dont perform an in-place editable build
dagardner-nv May 10, 2022
93d352f
WIP
dagardner-nv May 10, 2022
ff56256
Add check stage
dagardner-nv May 10, 2022
8f267c7
Add check stage
dagardner-nv May 10, 2022
69ac9fc
wip
dagardner-nv May 10, 2022
5124d80
wip
dagardner-nv May 10, 2022
00f88c6
wip
dagardner-nv May 10, 2022
7ee9f4a
wip
dagardner-nv May 10, 2022
4bf88f2
wip
dagardner-nv May 10, 2022
cbe5427
wip
dagardner-nv May 10, 2022
04641a2
wip
dagardner-nv May 10, 2022
e22fb84
wip
dagardner-nv May 10, 2022
33daa7a
test copyright
dagardner-nv May 10, 2022
4287ab8
Revert "test copyright"
dagardner-nv May 10, 2022
d040e15
Test python checks
dagardner-nv May 10, 2022
be0617d
wip
dagardner-nv May 10, 2022
165e0b3
Revert "Test python checks"
dagardner-nv May 10, 2022
a7ba5c1
wip
dagardner-nv May 11, 2022
acbae0f
wip
dagardner-nv May 11, 2022
5028d78
wip
dagardner-nv May 11, 2022
d0a1018
wip
dagardner-nv May 11, 2022
943e613
Dont exit early on failed tests
dagardner-nv May 11, 2022
a35407a
wip
dagardner-nv May 11, 2022
071680b
wip
dagardner-nv May 11, 2022
a69f852
wip
dagardner-nv May 11, 2022
4cbc675
wip
dagardner-nv May 11, 2022
63bd891
wip
dagardner-nv May 11, 2022
d0b3c83
wip
dagardner-nv May 11, 2022
9fc9b18
wip
dagardner-nv May 11, 2022
b0624f6
wip
dagardner-nv May 11, 2022
66fb4c8
wip
dagardner-nv May 11, 2022
2e91fdb
wip
dagardner-nv May 11, 2022
1c8a895
wip
dagardner-nv May 11, 2022
3696825
wip
dagardner-nv May 11, 2022
d59d821
wip
dagardner-nv May 11, 2022
d06c714
wip
dagardner-nv May 11, 2022
ab887c9
Use -driver variant
dagardner-nv May 12, 2022
87db77d
wip
dagardner-nv May 12, 2022
1e9040b
wip
dagardner-nv May 12, 2022
ce02944
wip
dagardner-nv May 12, 2022
c733303
wip
dagardner-nv May 12, 2022
a0f4f10
wip
dagardner-nv May 12, 2022
7fcec06
wip
dagardner-nv May 12, 2022
adb235f
wip
dagardner-nv May 12, 2022
52ef83f
add conda build
dagardner-nv May 12, 2022
ea4cc3a
Respect the PARALLEL_LEVEL in build
dagardner-nv May 12, 2022
e40ed1a
Revert debug changes
dagardner-nv May 12, 2022
5e56ffd
Disable ccache when using sccache
dagardner-nv May 12, 2022
fff04ca
use bz2
dagardner-nv May 12, 2022
bcd4181
Formatting fix
dagardner-nv May 12, 2022
a4a4ba4
Merge branch 'branch-22.06' into david-ci
dagardner-nv May 12, 2022
658c352
Generate a coverage report as well as a junit report
dagardner-nv May 12, 2022
86cad99
Increase time limit for build, a clean build will require 1h40m
dagardner-nv May 12, 2022
2011982
Disable morpheus conda build for now
dagardner-nv May 12, 2022
97a480d
wip
dagardner-nv May 12, 2022
8490157
Revert to trying the gpu build to see if this fixes the cudf issue
dagardner-nv May 12, 2022
35ec5fd
wip
dagardner-nv May 12, 2022
6a08821
Revert "Revert to trying the gpu build to see if this fixes the cudf …
dagardner-nv May 12, 2022
fbe61a4
wip
dagardner-nv May 12, 2022
b7f728e
wip
dagardner-nv May 13, 2022
bd68189
Probably don't need the pip install
dagardner-nv May 13, 2022
ac68342
Revert "Probably don't need the pip install"
dagardner-nv May 13, 2022
86cdb73
Doc builds need the workspace to be reinstalled
dagardner-nv May 13, 2022
beb0d33
Fix docs
dagardner-nv May 13, 2022
775f5d8
WIP
dagardner-nv May 13, 2022
5314415
Use the rapidsai-driver for cpu-only stages
dagardner-nv May 13, 2022
b7a4480
wip
dagardner-nv May 13, 2022
5161d30
wip
dagardner-nv May 13, 2022
fd0b20a
Debug call to ldd
dagardner-nv May 13, 2022
f8439b9
Debug call to ldd
dagardner-nv May 13, 2022
84da278
Merge branch 'david-ci' into david-ci-no-inplace
dagardner-nv May 13, 2022
54c4cf3
wip
dagardner-nv May 13, 2022
e55341f
wip
dagardner-nv May 13, 2022
52b92a6
WIP
dagardner-nv May 13, 2022
a7263fc
Merge branch 'branch-22.06' into david-cli-rel-paths
dagardner-nv May 16, 2022
1197dbc
Use the -I (isolation mode) for python when running unittests, ensure…
dagardner-nv May 16, 2022
06fb137
WIP
dagardner-nv May 16, 2022
2bcf000
Fix type-o
dagardner-nv May 16, 2022
14e83a9
Cleanup redundant environment declarations
dagardner-nv May 16, 2022
bcd1d68
Remove externalDelete statements
dagardner-nv May 16, 2022
58393e8
Revert "Remove externalDelete statements"
dagardner-nv May 16, 2022
4a908fe
Revert "Revert "Remove externalDelete statements""
dagardner-nv May 16, 2022
bcf4029
Add disableDeferredWipeout
dagardner-nv May 16, 2022
0b1da07
wip
dagardner-nv May 16, 2022
821c32c
wip
dagardner-nv May 16, 2022
45ceea5
Revert "wip"
dagardner-nv May 16, 2022
07d47c0
Revert "wip"
dagardner-nv May 16, 2022
e43ac1b
Revert "Add disableDeferredWipeout"
dagardner-nv May 16, 2022
da71025
Revert "Revert "Revert "Remove externalDelete statements"""
dagardner-nv May 16, 2022
3e19ae7
tmp debugging
dagardner-nv May 16, 2022
7159f70
Merge branch 'david-ci' into david-ci-no-inplace
dagardner-nv May 16, 2022
bbd6646
tmp debugging
dagardner-nv May 16, 2022
c2c467b
Move data
dagardner-nv May 16, 2022
cd6f0bf
npm missing?
dagardner-nv May 16, 2022
93bfb7d
I don't know anymore
dagardner-nv May 16, 2022
b014c32
Debugging npm issue
dagardner-nv May 17, 2022
ce01a4a
Add missing dep for pybind11-stubgen
dagardner-nv May 17, 2022
0b6d959
Don't add deps for pybind11 stub files when we aren't doing an inplac…
dagardner-nv May 17, 2022
520da8a
Don't install camouflage-server globally
dagardner-nv May 17, 2022
827ee41
Add MANIFEST.in to list of installed files
dagardner-nv May 17, 2022
4ef5624
Copy data dir, and files previously set by package_data
dagardner-nv May 17, 2022
c2c5975
Remove package_data, unfortunately the setuptools docs are vague and …
dagardner-nv May 17, 2022
4a22c29
Add some debug statements, I suspect its a permissions issue that I c…
dagardner-nv May 17, 2022
9a7f1cb
Add some debug statements, I suspect its a permissions issue that I c…
dagardner-nv May 17, 2022
336fb2d
whoami doesn't work
dagardner-nv May 17, 2022
ff4e1b0
Set permissions to be the same on extract
dagardner-nv May 17, 2022
4186357
Remove unused MORPHEUS_ROOT attr
dagardner-nv May 17, 2022
65473c6
Update path in examples for new data location
dagardner-nv May 17, 2022
be44798
Merge branch 'branch-22.06' into david-cli-rel-paths
dagardner-nv May 17, 2022
7ae1e30
Fix import path
dagardner-nv May 17, 2022
5cfbea3
wip
dagardner-nv May 17, 2022
329a6a6
Update paths in examples
dagardner-nv May 17, 2022
9c584f7
wip
dagardner-nv May 17, 2022
405b539
Update data path in docs
dagardner-nv May 17, 2022
1c7f421
fix path
dagardner-nv May 17, 2022
9779786
wip
dagardner-nv May 17, 2022
c0d5281
Update lfs to reflect data dir move
dagardner-nv May 17, 2022
ce37b33
Remove unneded fea_length
dagardner-nv May 17, 2022
c190638
Try and set the global npm dir to temp
dagardner-nv May 17, 2022
977bc34
Fix the setting of the home env var
dagardner-nv May 17, 2022
4580eee
Merge branch 'branch-22.06' into david-ci
dagardner-nv May 17, 2022
a2123f5
Add comment explaining why we are setting LD_LIBRARY_PATH
dagardner-nv May 17, 2022
a325529
Merge branch 'david-ci' into david-ci-no-inplace
dagardner-nv May 17, 2022
cf4433a
Move duplicated code into jenkins_common.sh
dagardner-nv May 17, 2022
b5a85a8
Merge branch 'david-cli-rel-paths' into david-ci-no-inplace
dagardner-nv May 17, 2022
01185ee
Install from a cmake install rather than the build
dagardner-nv May 17, 2022
ff81939
Add missing dep
dagardner-nv May 17, 2022
0fbfd30
Merge branch 'david-ci' into david-ci-no-inplace
dagardner-nv May 17, 2022
afe84b0
For now it appears that adding the pyi files to the build requires a …
dagardner-nv May 17, 2022
d1ff412
wip
dagardner-nv May 17, 2022
f36b40f
Update ci/scripts/jenkins_common.sh
dagardner-nv May 17, 2022
1bfd77f
Loosen the version reqs
dagardner-nv May 17, 2022
79ec3a7
Merge branch 'david-ci' of github.com:dagardner-nv/Morpheus into davi…
dagardner-nv May 17, 2022
a1dabeb
Move jenkins scripts to their own dir, remove relative paths using MO…
dagardner-nv May 18, 2022
f2c0ec9
Use workspace var in jenkinsfile
dagardner-nv May 18, 2022
a921800
Use a gpu node for building docs
dagardner-nv May 18, 2022
e656620
Merge branch 'david-ci' into david-ci-no-inplace
dagardner-nv May 18, 2022
160edf2
Add comment about usage of the --no-same-owner flag
dagardner-nv May 18, 2022
ffdc584
Debug info
dagardner-nv May 18, 2022
c6f02bd
wip
dagardner-nv May 18, 2022
647855c
Remove debug info
dagardner-nv May 18, 2022
35937c3
wip
dagardner-nv May 18, 2022
e8e327d
Make a helper function for printing conda info
dagardner-nv May 18, 2022
61ebfcf
Style fixes
dagardner-nv May 18, 2022
b336d4a
Merge branch 'david-cli-rel-paths' into david-ci-no-inplace
dagardner-nv May 18, 2022
67214f2
wip
dagardner-nv May 18, 2022
58277b9
wip
dagardner-nv May 18, 2022
e8f78d2
Fix bash syntax
dagardner-nv May 18, 2022
ed6ec78
Fix bash syntax
dagardner-nv May 18, 2022
736f71f
Optionally use curl
dagardner-nv May 18, 2022
67696d2
retry
dagardner-nv May 18, 2022
5a84ff2
Update docs/source/basics/examples.rst
dagardner-nv May 18, 2022
c568da0
Ensure that is in the installed rpath
dagardner-nv May 18, 2022
0093f0e
Remove setting LD_LIBRARY_PATH
dagardner-nv May 18, 2022
daa1411
Add helper script to determine merge target when executed locally
dagardner-nv May 18, 2022
c3fe2d1
Work-around bug in coverage plugin
dagardner-nv May 19, 2022
0514cb5
Don't use a gpu for docs
dagardner-nv May 19, 2022
e1f490c
Fix spelling mistake
dagardner-nv May 19, 2022
8c7d001
We should be able to build without a cpu now
dagardner-nv May 19, 2022
4cc8fc4
Attempt to mock all things neo to prevent nvmlinit from being called
dagardner-nv May 19, 2022
d5cbede
fix style checvks
dagardner-nv May 19, 2022
482f9a1
Try calling nvidia-smi
dagardner-nv May 19, 2022
53d2bc9
Mock out morpheus lib
dagardner-nv May 19, 2022
58e1435
Revert "Mock out morpheus lib"
dagardner-nv May 19, 2022
39da056
Revert "fix style checvks"
dagardner-nv May 19, 2022
deb28ea
Revert "Attempt to mock all things neo to prevent nvmlinit from being…
dagardner-nv May 19, 2022
a6bbd02
Request a gpu for documentation builds
dagardner-nv May 19, 2022
0b96c0d
Merge branch 'branch-22.06' into david-fix-ci
dagardner-nv May 19, 2022
88b3b13
Apply flake8 recomendation
dagardner-nv May 19, 2022
4162f53
Convert debug print statements to logging.debug statements, allowing …
dagardner-nv May 19, 2022
e1a60d0
Skip IWYU if no C++ files have been changed (prevents it from being c…
dagardner-nv May 20, 2022
c922c6d
iwyu mappings file from neo
dagardner-nv May 20, 2022
39eecdd
Merge branch 'david-fix-ci' into david-ci-no-inplace
dagardner-nv May 20, 2022
3dbd059
Add a fetch_s3 helper method
dagardner-nv May 20, 2022
df86ac8
wip
dagardner-nv May 20, 2022
8389639
wip
dagardner-nv May 20, 2022
23177d7
Fix fetch function
dagardner-nv May 20, 2022
d04e142
Fix restore function
dagardner-nv May 20, 2022
3cb19de
Merge branch 'branch-22.06' into david-ci
dagardner-nv May 23, 2022
8d09585
Remove old comment block
dagardner-nv May 23, 2022
d56b432
Remove old comment block
dagardner-nv May 23, 2022
80b6a0b
Use local instead of file url
dagardner-nv May 23, 2022
6bd4c92
Use local instead of file url
dagardner-nv May 23, 2022
469d84f
Redirect sccache --zero-stats to dev/null
dagardner-nv May 23, 2022
50a2b4b
Redirect sccache --zero-stats to dev/null
dagardner-nv May 23, 2022
1a93052
Rename CONDA_BLD_DIR to CUDF_CONDA_BLD_DIR to eliminate confusion wit…
dagardner-nv May 23, 2022
46d7b80
Rename CONDA_BLD_DIR to CUDF_CONDA_BLD_DIR to eliminate confusion wit…
dagardner-nv May 23, 2022
2fd9993
Use MORPHEUS_USE_CCACHE=ON and set sccache via CCACHE_PROGRAM_PATH
dagardner-nv May 23, 2022
a26ddad
Specify CCACHE_PROGRAM_PATH when we want sscache rather than disablin…
dagardner-nv May 23, 2022
dfdeacc
Merge branch 'branch-22.06' into david-cli-rel-paths
dagardner-nv May 23, 2022
5a50475
Only install the wheel component
dagardner-nv May 23, 2022
f59dcac
Fixing non-inplace builds install of stub files
mdemoret-nv May 23, 2022
7801803
Move data into previous install command
dagardner-nv May 23, 2022
f398f78
Merge branch 'david-cli-rel-paths' of github.com:dagardner-nv/Morpheu…
dagardner-nv May 23, 2022
798953a
Remove lfs filter for old data location
dagardner-nv May 23, 2022
a94dd62
Merge branch 'branch-22.06' into david-cli-rel-paths
dagardner-nv May 24, 2022
e9191b3
Merge branch 'david-cli-rel-paths' into david-ci-no-inplace
dagardner-nv May 24, 2022
346780a
Merge branch 'david-ci' into david-ci-no-inplace
dagardner-nv May 24, 2022
d7b730b
Merge branch 'david-sccache' into david-ci-no-inplace
dagardner-nv May 24, 2022
6c52e07
Building python stub files requires a gpu
dagardner-nv May 24, 2022
e626ed9
Merge branch 'branch-22.06' into david-ci-no-inplace
dagardner-nv Jun 2, 2022
97e8f50
Update CMakeLists.txt
dagardner-nv Jun 3, 2022
4cba48b
Remove usage of -I
dagardner-nv Jun 3, 2022
df2ee32
Remove older [DEBUG] from print strings, add main method and get_merg…
dagardner-nv Jun 3, 2022
4a34538
Fix args
dagardner-nv Jun 3, 2022
a79196e
Merge get_merge_target script directly into gitutils.py
dagardner-nv Jun 3, 2022
c893e3d
flake8 reqs
dagardner-nv Jun 3, 2022
a198d0e
Pin to older neo
dagardner-nv Jun 3, 2022
f1dd182
Revert "Pin to older neo"
dagardner-nv Jun 6, 2022
40225cc
Manually ensure that the build is clean
dagardner-nv Jun 6, 2022
2654fd5
Re-source the conda env
dagardner-nv Jun 6, 2022
2379200
Merge branch 'branch-22.06' into david-ci-no-inplace
dagardner-nv Jun 8, 2022
a1efb87
Fix CPP_FILE_REGEX
dagardner-nv Jun 8, 2022
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: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ set(CMAKE_CXX_EXTENSIONS ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
set(CMAKE_BUILD_RPATH_USE_ORIGIN TRUE)
set(CMAKE_INSTALL_RPATH "$ORIGIN")

enable_testing()

Expand Down
7 changes: 3 additions & 4 deletions ci/conda/recipes/morpheus/morpheus_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,10 @@ CMAKE_ARGS="-DCMAKE_INSTALL_PREFIX=$PREFIX ${CMAKE_ARGS}"
CMAKE_ARGS="-DCMAKE_INSTALL_LIBDIR=lib ${CMAKE_ARGS}"
CMAKE_ARGS="-DBUILD_SHARED_LIBS=ON ${CMAKE_ARGS}"
CMAKE_ARGS="-DMORPHEUS_USE_CONDA=ON ${CMAKE_ARGS}"
CMAKE_ARGS="-DMORPHEUS_USE_CCACHE=ON ${CMAKE_ARGS}"

if [[ "${USE_SCCACHE}" == "" ]]; then
CMAKE_ARGS="-DMORPHEUS_USE_CCACHE=ON ${CMAKE_ARGS}"
else
CMAKE_ARGS="-DMORPHEUS_USE_CCACHE=OFF ${CMAKE_ARGS}"
if [[ "${USE_SCCACHE}" == "1" ]]; then
CMAKE_ARGS="-DCCACHE_PROGRAM_PATH=$(which sccache) ${CMAKE_ARGS}"
fi

CMAKE_ARGS="-DMORPHEUS_BUILD_PYTHON=ON ${CMAKE_ARGS}"
Expand Down
93 changes: 93 additions & 0 deletions ci/iwyu/mappings.imp
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
[

## Include mappings
# neo protos
{ "include": [ "\"neo/protos/architect.pb.h\"", private, "<neo/protos/architect.pb.h>", "public" ] },
{ "include": [ "\"neo/protos/codable.pb.h\"", private, "<neo/protos/codable.pb.h>", "public" ] },
{ "include": [ "\"neo/protos/remote_descriptor.pb.h\"", private, "<neo/protos/remote_descriptor.pb.h>", "public" ] },
{ "include": [ "\"neo/protos/tensor_meta_data.pb.h\"", private, "<neo/protos/tensor_meta_data.pb.h>", "public" ] },

# stdlib
{ "include": [ "<bits/cxxabi_forced.h>", private, "<mutex>", "public" ] },
{ "include": [ "<bits/cxxabi_forced.h>", private, "<vector>", "public" ] },
{ "include": [ "<bits/types/siginfo_t.h>", private, "<csignal>", "public" ] },

# boost
{ "include": ["@<boost/fiber/future/detail/.*>", "private", "<boost/fiber/future/future.hpp>", "public"] },

# cuda
{ "include": ["<cuda_runtime_api.h>", "private", "<cuda_runtime.h>", "public"] },
{ "include": ["\"cuda_runtime_api.h\"", "private", "<cuda_runtime.h>", "public"] },
{ "include": ["<driver_types.h>", "private", "<cuda_runtime.h>", "public"] },
{ "include": ["\"driver_types.h\"", "private", "<cuda_runtime.h>", "public"] },

# gtest
{ "include": ["@<gtest/gtest-.*>", "private", "<gtest/gtest.h>", "public"] },
{ "include": ["@<gtest/gtest_.*>", "private", "<gtest/gtest.h>", "public"] },

# gprc
{ "include": ["@<grpcpp/impl/.*>", "private", "<grpcpp/grpcpp.h>", "public"] },
{ "include": ["@<grpc/impl/.*>", "private", "<grpcpp/grpcpp.h>", "public"] },

# nlohmann json
{ "include": ["<nlohmann/detail/iterators/iter_impl.hpp>", "private", "<nlohmann/json.hpp>", "public"] },
{ "include": ["<nlohmann/detail/iterators/iteration_proxy.hpp>", "private", "<nlohmann/json.hpp>", "public"] },
{ "include": ["<nlohmann/detail/json_ref.hpp>", "private", "<nlohmann/json.hpp>", "public"] },

# Protobuf
{ "include": [ "<google/protobuf/repeated_ptr_field.h>", private, "<google/protobuf/repeated_field.h>", "public" ] },

## Symbol mappings
# stdlib
{ "symbol": ["__gnu_cxx::__enable_if<true, double>::__type", "private", "<cmath>", "public"] },
{ "symbol": ["std::__success_type<std::chrono::duration<long, std::ratio<1, 1000000000>>>::type" , "private", "<chrono>", "public"] },
{ "symbol": ["__cxxabiv1::__forced_unwind", "private", "<future>", "public"] },

# boost
{ "symbol": ["__forced_unwind", "private", "<boost/fiber/all.hpp>", "public"] },
{ "symbol": ["boost::context::detail::forced_unwind", "private", "<boost/fiber/future/future.hpp>", "public"] },
{ "symbol": ["boost::intrusive_ptr::operator", "private", "<boost/fiber/future/promise.hpp>", "public"] },
{ "symbol": ["__cxxabiv1::__forced_unwind", "private", "<boost/fiber/future/future.hpp>", "public"] },

# cuda
{ "symbol": ["cuda::std::declval", "private", "<cuda/memory_resource>", "public"] },

# nlohmann json
# Tells IWYU that both json and json_fwd export the nlohmann::json namespace without this IWYU will always require
# json_fwd.hpp even when json.hpp is already included
{ "symbol": ["nlohmann", "private", "<nlohmann/json.hpp>", "public"] },
{ "symbol": ["nlohmann", "private", "<nlohmann/json_fwd.hpp>", "public"] },
{ "symbol": ["nlohmann::json", "private", "<nlohmann/json.hpp>", "public"] },
{ "symbol": ["nlohmann::json", "private", "<nlohmann/json_fwd.hpp>", "public"] },

# pybind11
{ "symbol": ["pybind11", "private", "<pybind11/cast.h>", "public"] },
{ "symbol": ["pybind11", "private", "<pybind11/embed.h>", "public"] },
{ "symbol": ["pybind11", "private", "<pybind11/pybind11.h>", "public"] },
{ "symbol": ["pybind11", "private", "<pybind11/pytypes.h>", "public"] },

{ "symbol": ["PYBIND11_MODULE", "private", "<pybind11/pybind11.h>", "public"] },
{ "symbol": ["PySequence_GetItem", "private", "<pybind11/pybind11.h>", "public"] },
{ "symbol": ["PyExc_ImportError", "private", "<pybind11/pybind11.h>", "public"] },
{ "symbol": ["PyErr_SetObject", "private", "<pybind11/pybind11.h>", "public"] },
{ "symbol": ["PyExc_StopIteration", "private", "<pybind11/pybind11.h>", "public"] },
{ "symbol": ["_Py_IsFinalizing", "private", "<pybind11/pybind11.h>", "public"] },
{ "symbol": ["pybind11::detail::str_attr_accessor", "private", "<pybind11/pybind11.h>", "public"] },
{ "symbol": ["pybind11::detail::overload_cast_impl", "private", "<pybind11/pybind11.h>", "public"] },
{ "symbol": ["pybind11::overload_cast", "private", "<pybind11/pybind11.h>", "public"] },
{ "symbol": ["pybind11::stop_iteration", "private", "<pybind11/pybind11.h>", "public"] },
{ "symbol": ["pybind11::return_value_policy", "private", "<pybind11/pybind11.h>", "public"] },
{ "symbol": ["pybind11::return_value_policy::reference_internal", "private", "<pybind11/pybind11.h>", "public"] },
{ "symbol": ["pybind11::detail::get_type_info", "private", "<pybind11/cast.h>", "public"] },
{ "symbol": ["PyGILState_Check", "private", "<pybind11/gil.h>", "public"] },

# spdlog
{ "symbol": ["spdlog::details::file_helper::~file_helper", "private", "<spdlog/sinks/basic_file_sink.h>", "public"] },

# xtensor
{ "symbol": ["xt::no_ownership", "private", "<xtensor/xadapt.hpp>", "public"] },

# neo
{ "symbol": ["std::__decay_and_strip<std::shared_ptr<neo::TraceStatistics> &>::__type" , "private", "<neo/benchmarking/trace_statistics.hpp>", "public"] },

]
6 changes: 3 additions & 3 deletions ci/scripts/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,18 @@

export SCRIPT_DIR=${SCRIPT_DIR:-"$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"}
export REPO_DIR=$(realpath ${REPO_DIR:-"${SCRIPT_DIR}/../.."})
export PY_ROOT="."
export PY_ROOT="${REPO_DIR}"
export PY_CFG="${PY_ROOT}/setup.cfg"
export PY_DIRS="${PY_ROOT} ci/scripts"

# work-around for known yapf issue https://github.com/google/yapf/issues/984
export YAPF_EXCLUDE_FLAGS="-e ${PY_ROOT}/versioneer.py -e ${PY_ROOT}/morpheus/_version.py"

# Determine the commits to compare against. If running in CI, these will be set. Otherwise, diff with main
export BASE_SHA=${CHANGE_TARGET:-${BASE_SHA:-main}}
export BASE_SHA=${CHANGE_TARGET:-${BASE_SHA:-$(${SCRIPT_DIR}/gitutils.py get_merge_target)}}
export COMMIT_SHA=${GIT_COMMIT:-${COMMIT_SHA:-HEAD}}

export CPP_FILE_REGEX='^(\.\/)?(src|include|tests|benchmarks|python)\/.*\.(cc|cpp|h|hpp)$'
export CPP_FILE_REGEX='^(\.\/)?(morpheus|tests)\/.*\.(cc|cpp|h|hpp)$'
export PYTHON_FILE_REGEX='^(\.\/)?(?!\.|build).*\.(py|pyx|pxd)$'

# Use these options to skip any of the checks
Expand Down
4 changes: 2 additions & 2 deletions ci/scripts/fix_all.sh
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,13 @@ if [[ "${SKIP_CLANG_TIDY}" == "" ]]; then
fi

# Run include-what-you-use
if [[ "${SKIP_IWYU}" == "" ]]; then
if [[ "${SKIP_IWYU}" == "" && "${CPP_MODIFIED_FILES}" != "" ]]; then

IWYU_TOOL=$(find_iwyu_tool)

if [[ -x "${IWYU_TOOL}" ]]; then
echo "Running include-what-you-use from '${IWYU_TOOL}'..."
${IWYU_TOOL} -j 0 -p ${BUILD_DIR} ${CPP_MODIFIED_FILES[@]} 2>&1
${IWYU_TOOL} -j $(nproc) -p ${BUILD_DIR} ${CPP_MODIFIED_FILES[@]} 2>&1
else
echo "Skipping include-what-you-use. Could not find iwyu_tool.py at '${IWYU_TOOL}'"
fi
Expand Down
53 changes: 43 additions & 10 deletions ci/scripts/gitutils.py
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#! /bin/env python3
# SPDX-FileCopyrightText: Copyright (c) 2019-2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
#
Expand All @@ -14,7 +15,9 @@
# limitations under the License.
#

import argparse
import datetime
import logging
import os
import re
import subprocess
Expand Down Expand Up @@ -76,7 +79,8 @@ def repo_version_major_minor():
match = re.match(r"^v?(?P<major>[0-9]+)(?:\.(?P<minor>[0-9]+))?", full_repo_version)

if (match is None):
print(" [DEBUG] Could not determine repo major minor version. " f"Full repo version: {full_repo_version}.")
logging.debug("Could not determine repo major minor version. "
f"Full repo version: {full_repo_version}.")
return None

out_version = match.group("major")
Expand Down Expand Up @@ -115,8 +119,8 @@ def determine_merge_commit(current_branch="HEAD"):
# Try to determine the target branch from the most recent tag
head_branch = __git("describe", "--all", "--tags", "--match='branch-*'", "--abbrev=0")
except subprocess.CalledProcessError:
print(" [DEBUG] Could not determine target branch from most recent "
"tag. Falling back to 'branch-{major}.{minor}.")
logging.debug("Could not determine target branch from most recent "
"tag. Falling back to 'branch-{major}.{minor}.")
head_branch = None

if (head_branch is not None):
Expand All @@ -132,20 +136,22 @@ def determine_merge_commit(current_branch="HEAD"):

head_branch = "branch-{}".format(version)
except Exception:
print(" [DEBUG] Could not determine branch version falling back to main")
logging.debug("Could not determine branch version falling back to main")
head_branch = "main"

try:
# Now get the remote tracking branch
remote_branch = __git("rev-parse", "--abbrev-ref", "--symbolic-full-name", head_branch + "@{upstream}")
except subprocess.CalledProcessError:
print(" [DEBUG] Could not remote tracking reference for " f"branch {head_branch}.")
logging.debug("Could not remote tracking reference for "
f"branch {head_branch}.")
remote_branch = None

if (remote_branch is None):
return None

print(f" [DEBUG] Determined TARGET_BRANCH as: '{remote_branch}'. " "Finding common ancestor.")
logging.debug(f"Determined TARGET_BRANCH as: '{remote_branch}'. "
"Finding common ancestor.")

common_commit = __git("merge-base", remote_branch, current_branch)

Expand Down Expand Up @@ -227,13 +233,15 @@ def modifiedFiles(pathFilter=None):
targetBranch = os.environ.get("TARGET_BRANCH")
commitHash = os.environ.get("COMMIT_HASH")
currentBranch = branch()
print(f" [DEBUG] TARGET_BRANCH={targetBranch}, COMMIT_HASH={commitHash}, " f"currentBranch={currentBranch}")
logging.debug(f"TARGET_BRANCH={targetBranch}, COMMIT_HASH={commitHash}, "
f"currentBranch={currentBranch}")

if targetBranch and commitHash and (currentBranch == "current-pr-branch"):
print(" [DEBUG] Assuming a CI environment.")
logging.debug("Assuming a CI environment.")
allFiles = changedFilesBetween(targetBranch, currentBranch, commitHash)
else:
print(" [DEBUG] Did not detect CI environment. " "Determining TARGET_BRANCH locally.")
logging.debug("Did not detect CI environment. "
"Determining TARGET_BRANCH locally.")

common_commit = determine_merge_commit(currentBranch)

Expand All @@ -252,7 +260,7 @@ def modifiedFiles(pathFilter=None):
files.append(f)

filesToCheckString = "\n\t".join(files) if files else "<None>"
print(f" [DEBUG] Found files to check:\n\t{filesToCheckString}\n")
logging.debug(f"Found files to check:\n\t{filesToCheckString}\n")
return files


Expand Down Expand Up @@ -291,3 +299,28 @@ def listFilesToCheck(filesDirs, filter=None):
if filter is None or filter(f_):
allFiles.append(f_)
return allFiles


def get_merge_target():
currentBranch = branch()
return determine_merge_commit(currentBranch)


def parse_args():
argparser = argparse.ArgumentParser("Executes a gitutil action")
argparser.add_argument("action",
choices=['get_merge_target'],
help="Action to execute")
args = argparser.parse_args()
return args


def main():
args = parse_args()
logging.basicConfig(level=logging.ERROR)
if args.action == 'get_merge_target':
print(get_merge_target())


if __name__ == '__main__':
main()
26 changes: 9 additions & 17 deletions ci/scripts/jenkins/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,7 @@ python3 --version
gcc --version
g++ --version

gpuci_logger "Check conda environment"
conda info
conda config --show-sources
conda list --show-channel-urls
show_conda_info

gpuci_logger "Checking S3 cuDF cache"
CUDF_CONDA_BLD_DIR=/opt/conda/conda-bld
Expand All @@ -49,11 +46,10 @@ CUDF_CONDA_TAR="${WORKSPACE_TMP}/cudf_conda.tar.bz"

gpuci_logger "Checking ${DISPLAY_URL}${CUDF_CONDA_CACHE_PATH}"
set +e
aws s3 cp --no-progress ${CUDF_CONDA_CACHE_URL} ${CUDF_CONDA_TAR}
CUDF_CACHE_CHECK=$?
fetch_s3 "${CUDF_CONDA_CACHE_PATH}" "${CUDF_CONDA_TAR}"
set -e

if [[ "${CUDF_CACHE_CHECK}" != "0" ]]; then
if [[ "${FETCH_STATUS}" != "0" ]]; then
gpuci_logger "Cache miss, Building cuDF"
mkdir -p ${CUDF_CONDA_BLD_DIR}
# The --no-build-id bit is needed for sccache
Expand Down Expand Up @@ -96,11 +92,9 @@ cmake -B build -G Ninja \
-DMORPHEUS_BUILD_EXAMPLES=ON \
-DMORPHEUS_BUILD_TESTS=ON \
-DMORPHEUS_USE_CONDA=ON \
-DMORPHEUS_PYTHON_INPLACE_BUILD=ON \
-DMORPHEUS_USE_CCACHE=OFF \
-DCMAKE_C_COMPILER_LAUNCHER=sccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=sccache \
-DCMAKE_CUDA_COMPILER_LAUNCHER=sccache \
-DMORPHEUS_PYTHON_INPLACE_BUILD=OFF \
-DMORPHEUS_USE_CCACHE=ON \
-DCCACHE_PROGRAM_PATH=$(which sccache) \
.

gpuci_logger "Building Morpheus"
Expand All @@ -110,16 +104,14 @@ gpuci_logger "sccache usage for morpheus build:"
sccache --show-stats

gpuci_logger "Installing Morpheus"
pip install -e ${MORPHEUS_ROOT}
cmake -DCOMPONENT=Wheel -P ${MORPHEUS_ROOT}/build/cmake_install.cmake
pip install ${MORPHEUS_ROOT}/build/wheel

gpuci_logger "Archiving results"
mamba pack --quiet --force --ignore-editable-packages --ignore-missing-files --n-threads ${PARALLEL_LEVEL} -n morpheus -o ${WORKSPACE_TMP}/conda_env.tar.gz
tar cfj ${WORKSPACE_TMP}/workspace.tar.bz --exclude=".git" --exclude="models" --exclude=".cache" ./
ls -lh ${WORKSPACE_TMP}/
mamba pack --quiet --force --ignore-missing-files --n-threads ${PARALLEL_LEVEL} -n morpheus -o ${WORKSPACE_TMP}/conda_env.tar.gz
mdemoret-nv marked this conversation as resolved.
Show resolved Hide resolved

gpuci_logger "Pushing results to ${DISPLAY_ARTIFACT_URL}"
aws s3 cp --no-progress "${WORKSPACE_TMP}/conda_env.tar.gz" "${ARTIFACT_URL}/conda_env.tar.gz"
aws s3 cp --no-progress "${WORKSPACE_TMP}/workspace.tar.bz" "${ARTIFACT_URL}/workspace.tar.bz"

gpuci_logger "Success"
exit 0
2 changes: 2 additions & 0 deletions ci/scripts/jenkins/checks.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ conda activate rapids
gpuci_logger "Installing CI dependencies"
mamba install -q -y -c conda-forge "yapf=0.32"

show_conda_info

gpuci_logger "Runing Python style checks"
${MORPHEUS_ROOT}/ci/scripts/python_checks.sh

Expand Down
Loading