402 lines
8.2 KiB
YAML
402 lines
8.2 KiB
YAML
stages:
|
|
- build
|
|
- test
|
|
- synthesis
|
|
- release
|
|
|
|
variables:
|
|
CMAKE_PREFIX_PATH: /opt/qt6:/opt/eigen-3.4
|
|
|
|
build:x86:gcc-11:
|
|
stage: build
|
|
variables:
|
|
CC: gcc
|
|
CXX: g++
|
|
tags:
|
|
- gcc
|
|
- x86
|
|
needs: []
|
|
script:
|
|
- mkdir build
|
|
- cd build
|
|
- source /opt/rh/gcc-toolset-11/enable
|
|
- cmake -DCMAKE_BUILD_TYPE=Release -DJFJOCH_VIEWER_BUILD=ON ..
|
|
- make -j48
|
|
|
|
build:x86:gcc-12:
|
|
stage: build
|
|
variables:
|
|
CC: gcc
|
|
CXX: g++
|
|
tags:
|
|
- gcc
|
|
- x86
|
|
needs: []
|
|
script:
|
|
- mkdir build
|
|
- cd build
|
|
- source /opt/rh/gcc-toolset-12/enable
|
|
- cmake -DCMAKE_BUILD_TYPE=Release -DJFJOCH_VIEWER_BUILD=ON ..
|
|
- make -j48
|
|
|
|
build:x86:gcc-13:
|
|
stage: build
|
|
variables:
|
|
CC: gcc
|
|
CXX: g++
|
|
tags:
|
|
- gcc
|
|
- x86
|
|
needs: []
|
|
script:
|
|
- mkdir build
|
|
- cd build
|
|
- source /opt/rh/gcc-toolset-13/enable
|
|
- cmake -DCMAKE_BUILD_TYPE=Release -DJFJOCH_VIEWER_BUILD=ON ..
|
|
- make -j48
|
|
|
|
build:x86:gcc_writer:
|
|
stage: build
|
|
variables:
|
|
CC: gcc
|
|
CXX: g++
|
|
tags:
|
|
- gcc
|
|
- x86
|
|
needs: []
|
|
script:
|
|
- mkdir build
|
|
- cd build
|
|
- source /opt/rh/gcc-toolset-12/enable
|
|
- cmake -DCMAKE_BUILD_TYPE=Release -DJFJOCH_WRITER_ONLY=ON ..
|
|
- make -j48
|
|
|
|
build:x86:gcc_nocuda:
|
|
stage: build
|
|
variables:
|
|
CC: gcc
|
|
CXX: g++
|
|
tags:
|
|
- gcc
|
|
- x86
|
|
needs: []
|
|
script:
|
|
- mkdir build
|
|
- cd build
|
|
- source /opt/rh/gcc-toolset-12/enable
|
|
- cmake -DCMAKE_BUILD_TYPE=Release -DJFJOCH_USE_CUDA=OFF ..
|
|
- make -j48
|
|
|
|
build:x86:driver:
|
|
stage: build
|
|
variables:
|
|
CC: gcc
|
|
CXX: g++
|
|
tags:
|
|
- gcc
|
|
- x86
|
|
needs: []
|
|
script:
|
|
- cd fpga/pcie_driver
|
|
- make
|
|
|
|
build:x86:python_client:
|
|
stage: build
|
|
needs: []
|
|
tags:
|
|
- python
|
|
script:
|
|
- bash gen_python_client.sh
|
|
artifacts:
|
|
paths:
|
|
- jfjoch_client-*whl
|
|
- jfjoch_client-*tar.gz
|
|
expire_in: 1 week
|
|
|
|
build:x86:frontend:
|
|
stage: build
|
|
tags:
|
|
- x86
|
|
needs: []
|
|
script:
|
|
- mkdir build
|
|
- cd build
|
|
- /usr/bin/cmake ..
|
|
- make frontend
|
|
- cd ../frontend/dist
|
|
- tar czf ../../jfjoch_frontend.tar.gz *
|
|
artifacts:
|
|
paths:
|
|
- jfjoch_frontend.tar.gz
|
|
expire_in: 1 week
|
|
|
|
build:x86:rpm:
|
|
stage: build
|
|
tags:
|
|
- x86
|
|
needs: []
|
|
script:
|
|
- mkdir build
|
|
- cd build
|
|
- source /opt/rh/gcc-toolset-12/enable
|
|
- cmake -DCMAKE_BUILD_TYPE=Release -DJFJOCH_INSTALL_DRIVER_SOURCE=ON -DJFJOCH_VIEWER_BUILD=ON ..
|
|
- make frontend
|
|
- make -j48 package
|
|
- mv *.rpm ..
|
|
artifacts:
|
|
paths:
|
|
- "*.rpm"
|
|
expire_in: 1 week
|
|
|
|
build:x86:sls9:rpm:
|
|
stage: build
|
|
tags:
|
|
- x86
|
|
needs: []
|
|
script:
|
|
- mkdir build
|
|
- cd build
|
|
- source /opt/rh/gcc-toolset-12/enable
|
|
- cmake -DCMAKE_BUILD_TYPE=Release -DJFJOCH_INSTALL_DRIVER_SOURCE=OFF -DJFJOCH_VIEWER_BUILD=OFF -DSLS9=ON ..
|
|
- make frontend
|
|
- make -j48 package
|
|
- mv *.rpm ..
|
|
artifacts:
|
|
paths:
|
|
- "*.rpm"
|
|
expire_in: 1 week
|
|
|
|
test:x86:gcc:
|
|
stage: test
|
|
timeout: 90m
|
|
variables:
|
|
CTEST_OUTPUT_ON_FAILURE: 1
|
|
CC: gcc
|
|
CXX: g++
|
|
needs: ["build:x86:gcc-12"]
|
|
dependencies: []
|
|
tags:
|
|
- gcc
|
|
- x86
|
|
script:
|
|
- source /opt/rh/gcc-toolset-12/enable
|
|
- mkdir -p build
|
|
- cd build
|
|
- cmake -DCMAKE_BUILD_TYPE=Release ..
|
|
- make -j48 jfjoch_test jfjoch_hdf5_test
|
|
- cd tests
|
|
- ./jfjoch_test -r junit -o report.xml
|
|
- cd ../tools
|
|
- ./jfjoch_hdf5_test ../../tests/test_data/compression_benchmark.h5
|
|
artifacts:
|
|
expire_in: 1 week
|
|
reports:
|
|
junit: build/tests/report.xml
|
|
|
|
test:x86:crystfel:
|
|
stage: test
|
|
timeout: 90m
|
|
variables:
|
|
CTEST_OUTPUT_ON_FAILURE: 1
|
|
CC: gcc
|
|
CXX: g++
|
|
needs: ["build:x86:gcc-12"]
|
|
dependencies: []
|
|
tags:
|
|
- gcc
|
|
- x86
|
|
- crystfel
|
|
script:
|
|
- source /opt/rh/gcc-toolset-12/enable
|
|
- mkdir -p build
|
|
- cd build
|
|
- cmake -DCMAKE_BUILD_TYPE=Release ..
|
|
- make -j8 jfjoch_hdf5_test
|
|
- cd ../tests/crystfel
|
|
- ../../build/tools/jfjoch_hdf5_test ../../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:
|
|
CTEST_OUTPUT_ON_FAILURE: 1
|
|
CC: gcc
|
|
CXX: g++
|
|
needs: ["build:x86:gcc-12"]
|
|
dependencies: []
|
|
tags:
|
|
- gcc
|
|
- x86
|
|
- xds
|
|
script:
|
|
- source /opt/rh/gcc-toolset-12/enable
|
|
- mkdir -p build
|
|
- cd build
|
|
- cmake -DCMAKE_BUILD_TYPE=Release ..
|
|
- make -j8 jfjoch_hdf5_test
|
|
- cd ../tests/xds_durin
|
|
- ../../build/tools/jfjoch_hdf5_test ../../tests/test_data/compression_benchmark.h5 25
|
|
- xds_par |grep -a1 ISa |tail -n1
|
|
|
|
test:x86:xds_durin_new_hdf5_format:
|
|
stage: test
|
|
timeout: 90m
|
|
variables:
|
|
CTEST_OUTPUT_ON_FAILURE: 1
|
|
CC: gcc
|
|
CXX: g++
|
|
needs: ["build:x86:gcc-12"]
|
|
dependencies: []
|
|
tags:
|
|
- gcc
|
|
- x86
|
|
- xds
|
|
script:
|
|
- source /opt/rh/gcc-toolset-12/enable
|
|
- mkdir -p build
|
|
- cd build
|
|
- cmake -DCMAKE_BUILD_TYPE=Release ..
|
|
- make -j8 jfjoch_hdf5_test
|
|
- cd ../tests/xds_durin
|
|
- HDF5MASTER_NEW_FORMAT=1 ../../build/tools/jfjoch_hdf5_test ../../tests/test_data/compression_benchmark.h5 25
|
|
- xds_par |grep -a1 ISa |tail -n1
|
|
|
|
test:x86:xds_neggia:
|
|
stage: test
|
|
timeout: 90m
|
|
variables:
|
|
CTEST_OUTPUT_ON_FAILURE: 1
|
|
CC: gcc
|
|
CXX: g++
|
|
needs: ["build:x86:gcc-12"]
|
|
dependencies: []
|
|
tags:
|
|
- gcc
|
|
- x86
|
|
- xds
|
|
script:
|
|
- source /opt/rh/gcc-toolset-12/enable
|
|
- mkdir -p build
|
|
- cd build
|
|
- cmake -DCMAKE_BUILD_TYPE=Release ..
|
|
- make -j8 jfjoch_hdf5_test
|
|
- cd ../tests/xds_neggia
|
|
- ../../build/tools/jfjoch_hdf5_test ../../tests/test_data/compression_benchmark.h5 25
|
|
- xds_par |grep -a1 ISa |tail -n1
|
|
|
|
test:x86:xia2.ssx:
|
|
stage: test
|
|
timeout: 90m
|
|
variables:
|
|
CTEST_OUTPUT_ON_FAILURE: 1
|
|
CC: gcc
|
|
CXX: g++
|
|
needs: ["build:x86:gcc-12"]
|
|
dependencies: []
|
|
tags:
|
|
- gcc
|
|
- x86
|
|
- xds
|
|
script:
|
|
- source /opt/rh/gcc-toolset-12/enable
|
|
- mkdir -p build
|
|
- mkdir -p dials_test
|
|
- cd build
|
|
- cmake -DCMAKE_BUILD_TYPE=Release ..
|
|
- make -j8 jfjoch_hdf5_test
|
|
- cd ../dials_test
|
|
- ../build/tools/jfjoch_hdf5_test ../tests/test_data/compression_benchmark.h5 100
|
|
- source /usr/local/dials-v3-17-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:hls:
|
|
stage: synthesis
|
|
dependencies: []
|
|
variables:
|
|
CC: gcc
|
|
CXX: g++
|
|
rules:
|
|
- if: $CI_COMMIT_MESSAGE =~ /^FPGA/
|
|
- if: $CI_COMMIT_MESSAGE =~ /^HLS/
|
|
tags:
|
|
- vivado
|
|
script:
|
|
- source /opt/rh/gcc-toolset-12/enable
|
|
- source /opt/Xilinx/Vivado/2022.2/settings64.sh
|
|
- mkdir -p build
|
|
- cd build
|
|
- /usr/bin/cmake ..
|
|
- make hls
|
|
needs: ["build:x86:gcc-12", "test:x86:gcc"]
|
|
|
|
synthesis:100g:
|
|
stage: synthesis
|
|
dependencies: []
|
|
retry: 2
|
|
variables:
|
|
CC: gcc
|
|
CXX: g++
|
|
allow_failure: true
|
|
rules:
|
|
- if: $CI_COMMIT_MESSAGE =~ /^FPGA/
|
|
- if: $CI_COMMIT_MESSAGE =~ /^100G/
|
|
tags:
|
|
- vivado
|
|
artifacts:
|
|
paths:
|
|
- "jfjoch_fpga_pcie_100g.mcs"
|
|
expire_in: 1 week
|
|
script:
|
|
- source /opt/rh/gcc-toolset-12/enable
|
|
- source /opt/Xilinx/Vivado/2022.2/settings64.sh
|
|
- mkdir -p build
|
|
- cd build
|
|
- /usr/bin/cmake ..
|
|
- make -j4 pcie_100g
|
|
- mv fpga/jfjoch_fpga_pcie_100g.mcs ..
|
|
needs: ["build:x86:gcc-12", "test:x86:gcc"]
|
|
|
|
synthesis:8x10g:
|
|
stage: synthesis
|
|
dependencies: []
|
|
variables:
|
|
CC: gcc
|
|
CXX: g++
|
|
retry: 2
|
|
allow_failure: true
|
|
rules:
|
|
- if: $CI_COMMIT_MESSAGE =~ /^FPGA/
|
|
- if: $CI_COMMIT_MESSAGE =~ /^8x10G/
|
|
tags:
|
|
- vivado
|
|
artifacts:
|
|
paths:
|
|
- "jfjoch_fpga_pcie_8x10g.mcs"
|
|
expire_in: 1 week
|
|
script:
|
|
- source /opt/rh/gcc-toolset-12/enable
|
|
- source /opt/Xilinx/Vivado/2022.2/settings64.sh
|
|
- mkdir -p build
|
|
- cd build
|
|
- /usr/bin/cmake ..
|
|
- make -j4 pcie_8x10g
|
|
- mv fpga/jfjoch_fpga_pcie_8x10g.mcs ..
|
|
needs: [ "build:x86:gcc-12", "test:x86:gcc" ]
|
|
|
|
release:
|
|
stage: release
|
|
rules:
|
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
when: manual
|
|
tags:
|
|
- x86
|
|
- python
|
|
dependencies:
|
|
- build:x86:frontend
|
|
- build:x86:rpm
|
|
- build:x86:sls9:rpm
|
|
- build:x86:python_client
|
|
script:
|
|
- bash gitlab_upload_release.sh
|