@@ -43,46 +43,68 @@ if [ -z ${PYTHON_VERSION+x} ]; then
43
43
exit 127
44
44
fi
45
45
46
- PYTHON=" python${PYTHON_VERSION} "
46
+ export PYTHON=" python${PYTHON_VERSION} "
47
47
48
- if [[ $( uname) == " Darwin" ]]; then
48
+ function install_dependencies()
49
+ {
50
+ if [[ $( uname) == " Darwin" ]]; then
49
51
brew install wget
50
- else
52
+ else
51
53
# Install a system package required by our library
52
54
sudo apt-get install -y wget libicu-dev python3-pip python3-setuptools
53
- fi
54
-
55
- PATH=$PATH :$( $PYTHON -c " import site; print(site.USER_BASE)" ) /bin
56
-
57
- [ " ${GTSAM_WITH_TBB:- OFF} " = " ON" ] && install_tbb
58
-
59
-
60
- BUILD_PYBIND=" ON"
55
+ fi
61
56
62
- sudo $ PYTHON -m pip install -r $GITHUB_WORKSPACE /python/requirements.txt
57
+ export PATH= $PATH : $( $ PYTHON -c " import site; print(site.USER_BASE) " ) /bin
63
58
64
- mkdir $GITHUB_WORKSPACE /build
65
- cd $GITHUB_WORKSPACE /build
59
+ [ " ${GTSAM_WITH_TBB:- OFF} " = " ON" ] && install_tbb
66
60
67
- cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \
68
- -DGTSAM_BUILD_TESTS=OFF \
69
- -DGTSAM_BUILD_UNSTABLE=${GTSAM_BUILD_UNSTABLE:- ON} \
70
- -DGTSAM_USE_QUATERNIONS=OFF \
71
- -DGTSAM_WITH_TBB=${GTSAM_WITH_TBB:- OFF} \
72
- -DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF \
73
- -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF \
74
- -DGTSAM_BUILD_PYTHON=${BUILD_PYBIND} \
75
- -DGTSAM_UNSTABLE_BUILD_PYTHON=${GTSAM_BUILD_UNSTABLE:- ON} \
76
- -DGTSAM_PYTHON_VERSION=$PYTHON_VERSION \
77
- -DPYTHON_EXECUTABLE:FILEPATH=$( which $PYTHON ) \
78
- -DGTSAM_ALLOW_DEPRECATED_SINCE_V42=OFF \
79
- -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE /gtsam_install
61
+ $PYTHON -m pip install -r $GITHUB_WORKSPACE /python/requirements.txt
62
+ }
80
63
64
+ function build()
65
+ {
66
+ mkdir $GITHUB_WORKSPACE /build
67
+ cd $GITHUB_WORKSPACE /build
68
+
69
+ BUILD_PYBIND=" ON"
70
+
71
+ cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \
72
+ -DGTSAM_BUILD_TESTS=OFF \
73
+ -DGTSAM_BUILD_UNSTABLE=${GTSAM_BUILD_UNSTABLE:- ON} \
74
+ -DGTSAM_USE_QUATERNIONS=OFF \
75
+ -DGTSAM_WITH_TBB=${GTSAM_WITH_TBB:- OFF} \
76
+ -DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF \
77
+ -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF \
78
+ -DGTSAM_BUILD_PYTHON=${BUILD_PYBIND} \
79
+ -DGTSAM_UNSTABLE_BUILD_PYTHON=${GTSAM_BUILD_UNSTABLE:- ON} \
80
+ -DGTSAM_PYTHON_VERSION=$PYTHON_VERSION \
81
+ -DPYTHON_EXECUTABLE:FILEPATH=$( which $PYTHON ) \
82
+ -DGTSAM_ALLOW_DEPRECATED_SINCE_V42=OFF \
83
+ -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE /gtsam_install
84
+
85
+
86
+ # Set to 2 cores so that Actions does not error out during resource provisioning.
87
+ make -j2 install
88
+
89
+ cd $GITHUB_WORKSPACE /build/python
90
+ $PYTHON -m pip install --user .
91
+ }
81
92
82
- # Set to 2 cores so that Actions does not error out during resource provisioning.
83
- make -j2 install
93
+ function test()
94
+ {
95
+ cd $GITHUB_WORKSPACE /python/gtsam/tests
96
+ $PYTHON -m unittest discover -v
97
+ }
84
98
85
- cd $GITHUB_WORKSPACE /build/python
86
- $PYTHON -m pip install --user .
87
- cd $GITHUB_WORKSPACE /python/gtsam/tests
88
- $PYTHON -m unittest discover -v
99
+ # select between build or test
100
+ case $1 in
101
+ -d)
102
+ install_dependencies
103
+ ;;
104
+ -b)
105
+ build
106
+ ;;
107
+ -t)
108
+ test
109
+ ;;
110
+ esac
0 commit comments