Files
Jungfraujoch/.gitlab-ci.yml

218 lines
5.2 KiB
YAML

stages:
- build
- test
- synthesis
build:x86:gcc:
stage: build
variables:
GIT_SUBMODULE_STRATEGY: recursive
CC: gcc
CXX: g++
tags:
- gcc
- x86
needs: []
script:
- mkdir build
- cd build
- cmake3 -DCMAKE_BUILD_TYPE=Release ..
- make -j48 jfjoch
build:x86:icpc:
stage: build
variables:
GIT_SUBMODULE_STRATEGY: recursive
CC: icx
CXX: icpx
tags:
- oneapi
- x86
needs: []
script:
- source /opt/grpc/grpc.sh
- source /opt/intel/oneapi/setvars.sh
- mkdir build
- cd build
- cmake3 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON ..
- make -j48 jfjoch
build:x86:aocc:
stage: build
variables:
GIT_SUBMODULE_STRATEGY: recursive
CC: clang
CXX: clang++
tags:
- aocc
- x86
needs: []
script:
- source /opt/grpc/grpc.sh
- source /opt/AMD/aocc-compiler-4.0.0/setenv_AOCC.sh
- mkdir build
- cd build
- cmake3 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON ..
- make -j48 jfjoch
build:x86:vitis_hls:
stage: build
variables:
GIT_SUBMODULE_STRATEGY: recursive
tags:
- x86
needs: []
rules:
- if: '$CI_PIPELINE_SOURCE == "push"'
changes:
- fpga/hls/*
- fpga/hdl/*
- fpga/scripts/*
- fpga/xdc/*
- fpga/microblaze/*
- common/Definitions.h
script:
- source /opt/Xilinx/Vitis_HLS/2022.1/settings64.sh
- mkdir build
- cd build
- cmake3 ..
- make hls
test:x86:gcc:
stage: test
timeout: 90m
variables:
GIT_SUBMODULE_STRATEGY: recursive
CTEST_OUTPUT_ON_FAILURE: 1
CC: gcc
CXX: g++
needs: ["build:x86:gcc"]
dependencies: []
tags:
- gcc
- x86
- ib
script:
- mkdir -p build
- cd build
- cmake3 -DCMAKE_BUILD_TYPE=Release -DJFJOCH_COMPILE_TESTS=ON ..
- make -j48 CatchTest CompressionBenchmark HDF5DatasetWriteTest DataAnalysisPerfTest JFCalibrationPerfTest
- cd tests
- ./CatchTest -r junit -o report.xml
- cd ../tools
- ./HDF5DatasetWriteTest ../../tests/test_data/compression_benchmark.h5
- numactl -m 0 -N 0 ./CompressionBenchmark ../../tests/test_data/compression_benchmark.h5
- numactl -m 0 -N 0 ./DataAnalysisPerfTest ../../tests/test_data/compression_benchmark.h5
- numactl -m 0 -N 0 ./JFCalibrationPerfTest
artifacts:
expire_in: 1 week
reports:
junit: build/tests/report.xml
test:x86:crystfel:
stage: test
timeout: 90m
variables:
GIT_SUBMODULE_STRATEGY: recursive
CTEST_OUTPUT_ON_FAILURE: 1
CC: gcc
CXX: g++
needs: ["build:x86:gcc"]
dependencies: []
tags:
- gcc
- x86
- crystfel
script:
- source /opt/grpc/grpc.sh
- mkdir -p build
- cd build
- cmake3 -DCMAKE_BUILD_TYPE=Release -DgRPC_FROM_SYSTEM=1 -DJFJOCH_COMPILE_TESTS=ON ..
- make -j8 HDF5DatasetWriteTest
- cd ../tests/crystfel
- HDF5DATASET_WRITE_TEST_IMAGES_PER_FILE=0 ../../build/tools/HDF5DatasetWriteTest ../../tests/test_data/compression_benchmark.h5 10
- indexamajig -i writing_test.lst -g jf4m.geom -o x.stream --indexing=xgandalf
test:x86:xds_durin:
stage: test
timeout: 90m
variables:
GIT_SUBMODULE_STRATEGY: recursive
CTEST_OUTPUT_ON_FAILURE: 1
CC: gcc
CXX: g++
needs: ["build:x86:gcc"]
dependencies: []
tags:
- gcc
- x86
- xds
script:
- source /opt/rh/devtoolset-10/enable
- source /opt/grpc/grpc.sh
- mkdir -p build
- cd build
- cmake3 -DCMAKE_BUILD_TYPE=Release -DgRPC_FROM_SYSTEM=1 -DJFJOCH_COMPILE_TESTS=ON ..
- make -j8 HDF5DatasetWriteTest
- cd ../tests/xds_durin
- HDF5DATASET_WRITE_TEST_IMAGES_PER_FILE=0 ../../build/tools/HDF5DatasetWriteTest ../../tests/test_data/compression_benchmark.h5 100
- xds_par |grep -a1 ISa |tail -n1
test:x86:xia2.ssx:
stage: test
timeout: 90m
variables:
GIT_SUBMODULE_STRATEGY: recursive
CTEST_OUTPUT_ON_FAILURE: 1
CC: gcc
CXX: g++
needs: ["build:x86:gcc"]
dependencies: []
tags:
- gcc
- x86
- xds
script:
- source /opt/rh/devtoolset-10/enable
- source /opt/grpc/grpc.sh
- mkdir -p build
- mkdir -p dials_test
- cd build
- cmake3 -DCMAKE_BUILD_TYPE=Release -DgRPC_FROM_SYSTEM=1 -DJFJOCH_COMPILE_TESTS=ON ..
- make -j8 HDF5DatasetWriteTest
- cd ../dials_test
- ../build/tools/HDF5DatasetWriteTest ../tests/test_data/compression_benchmark.h5 100
- source /usr/local/dials-v3-13-0/dials_env.sh
- xia2.ssx image=writing_test_master.h5 space_group=P43212 unit_cell=78.551,78.551,36.914,90.000,90.000,90.000
synthesis:vivado_pcie_100g:
stage: synthesis
variables:
GIT_SUBMODULE_STRATEGY: recursive
CC: gcc
CXX: g++
allow_failure: true
rules:
- if: '$CI_PIPELINE_SOURCE == "push"'
changes:
- fpga/hls/*
- fpga/hdl/*
- fpga/scripts/*
- fpga/xdc/*
- common/Definitions.h
tags:
- vivado
artifacts:
paths:
- build/fpga/*.mcs
- build/fpga/*.bit
expire_in: 1 week
script:
- source /opt/grpc/grpc.sh
- source /opt/Xilinx/Vivado/2022.1/settings64.sh
- mkdir -p build
- cd build
- cmake3 ..
- make action_pcie
needs: ["build:x86:gcc", "build:x86:vitis_hls", "test:x86:gcc"]