diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0348ff10082f1772062746ce3212a5653af8354f..f7899f598cc171ff20b5ffb02f84a8ef785a7dd3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -10,11 +10,15 @@ variables: # + if on master: use 4.6-unstable-$TIMESTAMP-$COMMIT # + on another branch: use $BRANCH-$TIMESTAMP-$COMMIT # - if in a personal repository: use $USER-$TIMESTAMP-$COMMIT +# +# Also sets the path and version of the default MATLAB installation. before_script: - '[[ -z $VERSION ]] && [[ $CI_PROJECT_NAMESPACE == Dynare ]] && [[ -n $CI_COMMIT_TAG ]] && export VERSION=$CI_COMMIT_TAG' - '[[ -z $VERSION ]] && [[ $CI_PROJECT_NAMESPACE == Dynare ]] && [[ $CI_COMMIT_REF_NAME == master ]] && export VERSION=4.6-unstable-$(date +%F-%H%M)-$CI_COMMIT_SHORT_SHA' - '[[ -z $VERSION ]] && [[ $CI_PROJECT_NAMESPACE == Dynare ]] && export VERSION=$CI_COMMIT_REF_NAME-$(date +%F-%H%M)-$CI_COMMIT_SHORT_SHA' - '[[ -z $VERSION ]] && export VERSION=$CI_PROJECT_NAMESPACE-$(date +%F-%H%M)-$CI_COMMIT_SHORT_SHA' + - 'export MATLAB_PATH=$(dirname $(dirname $(readlink -f $(which matlab))))' + - 'export MATLAB_VERSION=$(echo version | matlab -nodesktop -nodisplay -nosplash 2>/dev/null | sed -En "/ans\ =/!d;n;n;s/^[^0-9]*([0-9]+\.[0-9]+).*$/\1/;p")' stages: - build @@ -25,7 +29,7 @@ build_binaries: stage: build script: - autoreconf -si - - './configure --with-matlab=$(dirname $(dirname $(readlink -f $(which matlab)))) MATLAB_VERSION=$(echo version | matlab -nodesktop -nodisplay -nosplash 2>/dev/null | sed -En "/ans\ =/!d;n;n;s/^[^0-9]*([0-9]+\.[0-9]+).*$/\1/;p") PACKAGE_VERSION=$VERSION PACKAGE_STRING="dynare $VERSION"' + - ./configure --with-matlab=$MATLAB_PATH MATLAB_VERSION=$MATLAB_VERSION PACKAGE_VERSION=$VERSION PACKAGE_STRING="dynare $VERSION" - make -j $(nproc) LN_S="cp -p" artifacts: paths: @@ -66,7 +70,7 @@ pkg_source: script: - 'for f in configure.ac preprocessor/configure.ac mex/build/matlab/configure.ac mex/build/octave/configure.ac; do sed -i "s/^AC_INIT(\[\(.*\)\],\s*\[\(.*\)\])/AC_INIT([\1], [$VERSION])/" $f; done' - autoreconf -si - - ./configure --disable-matlab --disable-octave + - ./configure --with-matlab=$MATLAB_PATH MATLAB_VERSION=$MATLAB_VERSION - make dist artifacts: paths: @@ -138,14 +142,14 @@ test_matlab: extends: .test_matlab_template script: - autoreconf -si - - './configure --disable-octave --with-matlab=$(dirname $(dirname $(readlink -f $(which matlab)))) MATLAB_VERSION=$(echo version | matlab -nodesktop -nodisplay -nosplash 2>/dev/null | sed -En "/ans\ =/!d;n;n;s/^[^0-9]*([0-9]+\.[0-9]+).*$/\1/;p")' + - ./configure --disable-octave --with-matlab=$MATLAB_PATH MATLAB_VERSION=$MATLAB_VERSION - make -j $(($(nproc) * 3 / 4)) -C tests check-matlab test_old_matlab: extends: .test_matlab_template script: - autoreconf -si - - './configure --disable-octave --with-matlab=/usr/local/MATLAB/R2009b MATLAB_VERSION=R2009b' + - ./configure --disable-octave --with-matlab=/usr/local/MATLAB/R2009b MATLAB_VERSION=R2009b - make -C mex/build/matlab clean - make -j $(nproc) -C mex/build/matlab - make -j $(($(nproc) * 3 / 4)) -C tests check-matlab