Skip to content
Snippets Groups Projects
Commit fe63f781 authored by Andre Offringa's avatar Andre Offringa
Browse files

Download LOBES coefficients when building with tests

parent 7f50235e
No related branches found
No related tags found
No related merge requests found
...@@ -31,6 +31,7 @@ versioning: ...@@ -31,6 +31,7 @@ versioning:
- echo EVERYBEAM_IMAGE_2004=${CI_REGISTRY_IMAGE}/everybeam_2004:${CI_COMMIT_SHORT_SHA} >> versions.env - echo EVERYBEAM_IMAGE_2004=${CI_REGISTRY_IMAGE}/everybeam_2004:${CI_COMMIT_SHORT_SHA} >> versions.env
- echo EVERYBEAM_IMAGE_2204=${CI_REGISTRY_IMAGE}/everybeam_2204:${CI_COMMIT_SHORT_SHA} >> versions.env - echo EVERYBEAM_IMAGE_2204=${CI_REGISTRY_IMAGE}/everybeam_2204:${CI_COMMIT_SHORT_SHA} >> versions.env
- echo EVERYBEAM_IMAGE_GCC12=${CI_REGISTRY_IMAGE}/everybeam_gcc12:${CI_COMMIT_SHORT_SHA} >> versions.env - echo EVERYBEAM_IMAGE_GCC12=${CI_REGISTRY_IMAGE}/everybeam_gcc12:${CI_COMMIT_SHORT_SHA} >> versions.env
- echo EVERYBEAM_PACKAGE_IMAGE_2204=${CI_REGISTRY_IMAGE}/everybeam_package_2204:${CI_COMMIT_SHORT_SHA} >> versions.env
- cat versions.env - cat versions.env
artifacts: artifacts:
reports: reports:
...@@ -119,7 +120,7 @@ test-and-coverage-2204: ...@@ -119,7 +120,7 @@ test-and-coverage-2204:
- wget -q ftp://ftp.astron.nl/outgoing/Measures/WSRT_Measures.ztar && tar -xf WSRT_Measures.ztar -C /var/lib/casacore/data/ && rm -f WSRT_Measures.ztar - wget -q ftp://ftp.astron.nl/outgoing/Measures/WSRT_Measures.ztar && tar -xf WSRT_Measures.ztar -C /var/lib/casacore/data/ && rm -f WSRT_Measures.ztar
# Build in Debug mode # Build in Debug mode
- mkdir build && cd build - mkdir build && cd build
- cmake -DCMAKE_INSTALL_PREFIX=.. -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -DBUILD_WITH_PYTHON=ON -DDOWNLOAD_LOBES=On -DCMAKE_CXX_FLAGS="-coverage" -DCMAKE_EXE_LINKER_FLAGS="-coverage" -G Ninja .. - cmake -DCMAKE_INSTALL_PREFIX=.. -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -DBUILD_WITH_PYTHON=ON -DCMAKE_CXX_FLAGS="-coverage" -DCMAKE_EXE_LINKER_FLAGS="-coverage" -G Ninja ..
- ninja install - ninja install
- ctest -j`nproc` --output-on-failure -T test - ctest -j`nproc` --output-on-failure -T test
# Capture coverage # Capture coverage
...@@ -167,6 +168,16 @@ build-everybeam-2204: ...@@ -167,6 +168,16 @@ build-everybeam-2204:
rules: # Override 'changes' rule from .prepare, since it also depends on the base docker file. rules: # Override 'changes' rule from .prepare, since it also depends on the base docker file.
- when: always - when: always
build-everybeam-package-2204:
extends: [.prepare,.needs-base-2204]
stage: build
variables:
DOCKER_IMAGE: $EVERYBEAM_PACKAGE_IMAGE_2204
DOCKER_FILE: docker/everybeam-package
DOCKER_BUILD_ARG: --build-arg BASE_IMAGE=${BASE_IMAGE_2204}
rules: # Override 'changes' rule from .prepare, since it also depends on the base docker file.
- when: always
build-everybeam-gcc12: build-everybeam-gcc12:
extends: [.prepare,.needs-base-gcc12] extends: [.prepare,.needs-base-gcc12]
stage: build stage: build
...@@ -194,7 +205,7 @@ build-doc-2204: ...@@ -194,7 +205,7 @@ build-doc-2204:
build-package-2204: build-package-2204:
stage: package stage: package
needs: ["versioning","build-everybeam-2204"] needs: ["versioning","build-everybeam-2204"]
image: $EVERYBEAM_IMAGE_2204 image: $EVERYBEAM_PACKAGE_IMAGE_2204
script: script:
- mkdir everybeam_package - mkdir everybeam_package
- export SRC=$(pwd) - export SRC=$(pwd)
......
...@@ -15,9 +15,10 @@ set_target_properties(lobes PROPERTIES LIBRARY_OUTPUT_NAME ...@@ -15,9 +15,10 @@ set_target_properties(lobes PROPERTIES LIBRARY_OUTPUT_NAME
"${projectname}-lobes") "${projectname}-lobes")
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
if(DOWNLOAD_LOBES) if(DOWNLOAD_LOBES OR BUILD_TESTING)
# Download the LOBES coefficient files if DOWNLOAD_LOBES=On, leads to a relatively small amount of overhead # Download the LOBES coefficient files if DOWNLOAD_LOBES=On, leads to a relatively small amount of overhead
# in make command, even if the coefficient files have been dowloaded # in make command, even if the coefficient files have been dowloaded. Because the unit tests require
# DOWNLOAD_LOBES, this is also enabled when BUILD_TESTING is on.
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/coeffs/lobes) file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/coeffs/lobes)
add_custom_target( add_custom_target(
download_lobes_coefficients download_lobes_coefficients
......
...@@ -7,10 +7,6 @@ find_package( ...@@ -7,10 +7,6 @@ find_package(
COMPONENTS unit_test_framework COMPONENTS unit_test_framework
REQUIRED) REQUIRED)
if(DOWNLOAD_LOBES)
add_definitions(-DDOWNLOAD_LOBES)
endif()
# Set cache values if not specified # Set cache values if not specified
set(MOCK_MS set(MOCK_MS
LOFAR_HBA_MOCK LOFAR_HBA_MOCK
......
...@@ -65,9 +65,7 @@ static std::unique_ptr<Telescope> LoadAartfaac6Telescope( ...@@ -65,9 +65,7 @@ static std::unique_ptr<Telescope> LoadAartfaac6Telescope(
BOOST_AUTO_TEST_CASE(load) { BOOST_AUTO_TEST_CASE(load) {
Options options; Options options;
// TODO AST-807 harden this test // TODO AST-807 harden this test
// - When DOWNLOAD_LOBES is undefined it throws.
// - When an Aartfaac-12 MS is used it throws. // - When an Aartfaac-12 MS is used it throws.
// - Builds where DOWNLOAD_LOBES is undefined aren't tested in CI.
{ {
options.element_response_model = ElementResponseModel::kLOBES; options.element_response_model = ElementResponseModel::kLOBES;
std::unique_ptr<Telescope> telescope = LoadAartfaac6Telescope(options); std::unique_ptr<Telescope> telescope = LoadAartfaac6Telescope(options);
...@@ -226,7 +224,6 @@ BOOST_AUTO_TEST_CASE(under_horizon_grid) { ...@@ -226,7 +224,6 @@ BOOST_AUTO_TEST_CASE(under_horizon_grid) {
} }
} }
#ifdef DOWNLOAD_LOBES
static std::unique_ptr<everybeam::telescope::Telescope> GetTelescopeLofar() { static std::unique_ptr<everybeam::telescope::Telescope> GetTelescopeLofar() {
Options options; Options options;
options.element_response_model = ElementResponseModel::kLOBES; options.element_response_model = ElementResponseModel::kLOBES;
...@@ -396,6 +393,4 @@ BOOST_AUTO_TEST_CASE(gridded_response_lobes, ...@@ -396,6 +393,4 @@ BOOST_AUTO_TEST_CASE(gridded_response_lobes,
} }
} }
#endif
BOOST_AUTO_TEST_SUITE_END() BOOST_AUTO_TEST_SUITE_END()
...@@ -126,9 +126,6 @@ BOOST_AUTO_TEST_CASE(test_hamaker) { ...@@ -126,9 +126,6 @@ BOOST_AUTO_TEST_CASE(test_hamaker) {
} }
} }
// DOWNLOAD_LOBES required since we need to make sure
// coefficient file for CS302LBA is present in build dir.
#ifdef DOWNLOAD_LOBES
BOOST_AUTO_TEST_CASE(test_lobes) { BOOST_AUTO_TEST_CASE(test_lobes) {
Options options; Options options;
// Effectively, all the computations will be done as if the Hamaker model was // Effectively, all the computations will be done as if the Hamaker model was
...@@ -172,6 +169,5 @@ BOOST_AUTO_TEST_CASE(test_lobes) { ...@@ -172,6 +169,5 @@ BOOST_AUTO_TEST_CASE(test_lobes) {
everybeam_ref_p13[i], 2e-1); everybeam_ref_p13[i], 2e-1);
} }
} }
#endif // DOWNLOAD_LOBES
BOOST_AUTO_TEST_SUITE_END() BOOST_AUTO_TEST_SUITE_END()
...@@ -9,5 +9,5 @@ ADD . ${EVERYBEAMDIR}/EveryBeam ...@@ -9,5 +9,5 @@ ADD . ${EVERYBEAMDIR}/EveryBeam
RUN cd ${EVERYBEAMDIR}/EveryBeam && git fetch --unshallow \ RUN cd ${EVERYBEAMDIR}/EveryBeam && git fetch --unshallow \
&& mkdir -p ${EVERYBEAMDIR}/build && cd ${EVERYBEAMDIR}/build \ && mkdir -p ${EVERYBEAMDIR}/build && cd ${EVERYBEAMDIR}/build \
&& cmake -DBUILD_TESTING=ON -DBUILD_WITH_PYTHON=ON -DBUILD_APT_PACKAGES=ON -DCMAKE_INSTALL_PREFIX=.. ../EveryBeam \ && cmake -DBUILD_TESTING=ON -DBUILD_WITH_PYTHON=ON -DCMAKE_INSTALL_PREFIX=.. ../EveryBeam \
&& make -j8 && make install -j8 && make -j8 && make install -j8
# Copyright (C) 2021 ASTRON (Netherlands Institute for Radio Astronomy)
# SPDX-License-Identifier: GPL-3.0-or-later
ARG BASE_IMAGE
FROM $BASE_IMAGE
ENV EVERYBEAMDIR /opt/everybeam
ADD . ${EVERYBEAMDIR}/EveryBeam
RUN cd ${EVERYBEAMDIR}/EveryBeam && git fetch --unshallow \
&& mkdir -p ${EVERYBEAMDIR}/build && cd ${EVERYBEAMDIR}/build \
&& cmake -DBUILD_WITH_PYTHON=ON -DBUILD_APT_PACKAGES=ON -DCMAKE_INSTALL_PREFIX=.. ../EveryBeam \
&& make -j8 && make install -j8
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment