Skip to content

Fixed CI builds for RabbitMQ #351

Fixed CI builds for RabbitMQ

Fixed CI builds for RabbitMQ #351

Workflow file for this run

name: CI
on:
# Triggers the workflow on pull request events only for the "develop" branch
pull_request:
branches: [ "develop" ]
workflow_dispatch:
jobs:
# build-run-tests:
# # The type of runner that the job will run on
# runs-on: ubuntu-latest
# container: ghcr.io/llnl/ams-ci-almalinux8:latest
# # Steps represent a sequence of tasks that will be executed as part of the job
# steps:
# - uses: actions/checkout@v3
# - name: Build Torch=On FAISS=On HDF5=On AMS
# shell: bash -l {0}
# run: |
# module load gcc/11.2.1
# source /spack/share/spack/setup-env.sh
# spack env activate -p /ams-spack-env
# rm -rf build/
# mkdir build
# cd build
# export AMS_MFEM_PATH=$(spack location -i mfem)
# export AMS_TORCH_PATH=$(spack location -i py-torch)/lib/python3.10/site-packages/torch/share/cmake/Torch
# export AMS_FAISS_PATH=$(spack location -i faiss)
# export AMS_UMPIRE_PATH=$(spack location -i umpire)
# export AMS_HDF5_PATH=$(spack location -i hdf5)
# cmake \
# -DBUILD_SHARED_LIBS=On \
# -DCMAKE_PREFIX_PATH=$INSTALL_DIR \
# -DWITH_CALIPER=On \
# -DWITH_HDF5=On \
# -DWITH_EXAMPLES=On \
# -DAMS_HDF5_DIR=$AMS_HDF5_PATH \
# -DCMAKE_INSTALL_PREFIX=./install \
# -DCMAKE_BUILD_TYPE=Release \
# -DWITH_CUDA=Off \
# -DUMPIRE_DIR=$AMS_UMPIRE_PATH \
# -DMFEM_DIR=$AMS_MFEM_PATH \
# -DWITH_FAISS=On \
# -DWITH_MPI=On \
# -DWITH_TORCH=On \
# -DWITH_TESTS=On \
# -DTorch_DIR=$AMS_TORCH_PATH \
# -DFAISS_DIR=$AMS_FAISS_PATH \
# -DWITH_AMS_DEBUG=On \
# -DWITH_WORKFLOW=On \
# -DWITH_ADIAK=On \
# $GITHUB_WORKSPACE
# make
# - name: Run tests Torch=On FAISS=On HDF5=On AMS
# run: |
# cd build
# source /spack/share/spack/setup-env.sh
# spack env activate -p /ams-spack-env
# env CTEST_OUTPUT_ON_FAILURE=1 make test
# - name: Build Torch=On FAISS=On HDF5=On MPI=Off AMS
# shell: bash -l {0}
# run: |
# module load gcc/11.2.1
# source /spack/share/spack/setup-env.sh
# spack env activate -p /ams-spack-env
# rm -rf build/
# mkdir build
# cd build
# export AMS_MFEM_PATH=$(spack location -i mfem)
# export AMS_TORCH_PATH=$(spack location -i py-torch)/lib/python3.10/site-packages/torch/share/cmake/Torch
# export AMS_FAISS_PATH=$(spack location -i faiss)
# export AMS_UMPIRE_PATH=$(spack location -i umpire)
# export AMS_HDF5_PATH=$(spack location -i hdf5)
# cmake \
# -DBUILD_SHARED_LIBS=On \
# -DCMAKE_PREFIX_PATH=$INSTALL_DIR \
# -DWITH_CALIPER=On \
# -DWITH_HDF5=On \
# -DWITH_EXAMPLES=On \
# -DAMS_HDF5_DIR=$AMS_HDF5_PATH \
# -DCMAKE_INSTALL_PREFIX=./install \
# -DCMAKE_BUILD_TYPE=Release \
# -DWITH_CUDA=Off \
# -DUMPIRE_DIR=$AMS_UMPIRE_PATH \
# -DMFEM_DIR=$AMS_MFEM_PATH \
# -DWITH_FAISS=On \
# -DWITH_MPI=Off \
# -DWITH_TORCH=On \
# -DWITH_TESTS=On \
# -DTorch_DIR=$AMS_TORCH_PATH \
# -DFAISS_DIR=$AMS_FAISS_PATH \
# -DWITH_AMS_DEBUG=On \
# -DWITH_WORKFLOW=On \
# -DWITH_ADIAK=On \
# $GITHUB_WORKSPACE
# make
# - name: Build CALIPER=Off Torch=Off FAISS=On HDF5=On AMS
# shell: bash -l {0}
# run: |
# module load gcc/11.2.1
# source /spack/share/spack/setup-env.sh
# spack env activate -p /ams-spack-env
# rm -rf build/
# mkdir build
# cd build
# export AMS_MFEM_PATH=$(spack location -i mfem)
# export AMS_FAISS_PATH=$(spack location -i faiss)
# export AMS_UMPIRE_PATH=$(spack location -i umpire)
# export AMS_HDF5_PATH=$(spack location -i hdf5)
# cmake \
# -DBUILD_SHARED_LIBS=On \
# -DCMAKE_PREFIX_PATH=$INSTALL_DIR \
# -DWITH_CALIPER=Off \
# -DWITH_HDF5=On \
# -DWITH_EXAMPLES=On \
# -DAMS_HDF5_DIR=$AMS_HDF5_PATH \
# -DCMAKE_INSTALL_PREFIX=./install \
# -DCMAKE_BUILD_TYPE=Release \
# -DWITH_CUDA=Off \
# -DUMPIRE_DIR=$AMS_UMPIRE_PATH \
# -DMFEM_DIR=$AMS_MFEM_PATH \
# -DWITH_FAISS=On \
# -DWITH_MPI=On \
# -DWITH_TORCH=Off \
# -DWITH_TESTS=On \
# -DFAISS_DIR=$AMS_FAISS_PATH \
# -DWITH_AMS_DEBUG=On \
# -DWITH_WORKFLOW=On \
# $GITHUB_WORKSPACE
# make
# - name: Build Torch=Off FAISS=On HDF5=On AMS
# shell: bash -l {0}
# run: |
# module load gcc/11.2.1
# source /spack/share/spack/setup-env.sh
# spack env activate -p /ams-spack-env
# rm -rf build/
# mkdir build
# cd build
# export AMS_MFEM_PATH=$(spack location -i mfem)
# export AMS_FAISS_PATH=$(spack location -i faiss)
# export AMS_UMPIRE_PATH=$(spack location -i umpire)
# export AMS_HDF5_PATH=$(spack location -i hdf5)
# cmake \
# -DBUILD_SHARED_LIBS=On \
# -DCMAKE_PREFIX_PATH=$INSTALL_DIR \
# -DWITH_CALIPER=On \
# -DWITH_HDF5=On \
# -DWITH_EXAMPLES=On \
# -DAMS_HDF5_DIR=$AMS_HDF5_PATH \
# -DCMAKE_INSTALL_PREFIX=./install \
# -DCMAKE_BUILD_TYPE=Release \
# -DWITH_CUDA=Off \
# -DUMPIRE_DIR=$AMS_UMPIRE_PATH \
# -DMFEM_DIR=$AMS_MFEM_PATH \
# -DWITH_FAISS=On \
# -DWITH_MPI=On \
# -DWITH_TORCH=Off \
# -DWITH_TESTS=On \
# -DFAISS_DIR=$AMS_FAISS_PATH \
# -DWITH_AMS_DEBUG=On \
# -DWITH_WORKFLOW=On \
# -DWITH_ADIAK=On \
# $GITHUB_WORKSPACE
# make
# - name: Run tests Torch=Off FAISS=On HDF5=On AMS
# run: |
# cd build
# source /spack/share/spack/setup-env.sh
# spack env activate -p /ams-spack-env
# env CTEST_OUTPUT_ON_FAILURE=1 make test
# - name: Build Torch=Off FAISS=Off HDF5=On AMS
# shell: bash -l {0}
# run: |
# module load gcc/11.2.1
# source /spack/share/spack/setup-env.sh
# spack env activate -p /ams-spack-env
# rm -rf build/
# mkdir build
# cd build
# export AMS_MFEM_PATH=$(spack location -i mfem)
# export AMS_UMPIRE_PATH=$(spack location -i umpire)
# export AMS_HDF5_PATH=$(spack location -i hdf5)
# cmake \
# -DBUILD_SHARED_LIBS=On \
# -DCMAKE_PREFIX_PATH=$INSTALL_DIR \
# -DWITH_CALIPER=On \
# -DWITH_EXAMPLES=On \
# -DAMS_HDF5_DIR=$AMS_HDF5_PATH \
# -DWITH_HDF5=On \
# -DCMAKE_INSTALL_PREFIX=./install \
# -DCMAKE_BUILD_TYPE=Release \
# -DWITH_CUDA=Off \
# -DUMPIRE_DIR=$AMS_UMPIRE_PATH \
# -DMFEM_DIR=$AMS_MFEM_PATH \
# -DWITH_FAISS=Off \
# -DWITH_MPI=On \
# -DWITH_TORCH=Off \
# -DWITH_TESTS=On \
# -DWITH_AMS_DEBUG=On \
# -DWITH_WORKFLOW=On \
# -DWITH_ADIAK=On \
# $GITHUB_WORKSPACE
# make
# - name: Run tests Torch=Off FAISS=Off HDF5=On AMS
# run: |
# cd build
# source /spack/share/spack/setup-env.sh
# spack env activate -p /ams-spack-env
# make test
# - name: Build Torch=Off FAISS=Off HDF5=Off AMS
# shell: bash -l {0}
# run: |
# module load gcc/11.2.1
# source /spack/share/spack/setup-env.sh
# spack env activate -p /ams-spack-env
# rm -rf build/
# mkdir build
# cd build
# export AMS_MFEM_PATH=$(spack location -i mfem)
# export AMS_UMPIRE_PATH=$(spack location -i umpire)
# cmake \
# -DBUILD_SHARED_LIBS=On \
# -DCMAKE_PREFIX_PATH=$INSTALL_DIR \
# -DWITH_CALIPER=On \
# -DWITH_EXAMPLES=On \
# -DCMAKE_INSTALL_PREFIX=./install \
# -DCMAKE_BUILD_TYPE=Release \
# -DWITH_CUDA=Off \
# -DUMPIRE_DIR=$AMS_UMPIRE_PATH \
# -DMFEM_DIR=$AMS_MFEM_PATH \
# -DWITH_FAISS=Off \
# -DWITH_MPI=On \
# -DWITH_TORCH=Off \
# -DWITH_TESTS=On \
# -DWITH_AMS_DEBUG=On \
# -DWITH_WORKFLOW=On \
# -DWITH_ADIAK=Off \
# $GITHUB_WORKSPACE
# make
# - name: Run tests Torch=Off FAISS=Off HDF5=Off AMS
# run: |
# cd build
# source /spack/share/spack/setup-env.sh
# spack env activate -p /ams-spack-env
# make test
# build-cuda-tests:
# # The type of runner that the job will run on
# runs-on: ubuntu-latest
# container: ghcr.io/llnl/ams-ci-cuda11.6.1:latest
# # Steps represent a sequence of tasks that will be executed as part of the job
# steps:
# - uses: actions/checkout@v3
# - name: Build Torch=On FAISS=On HDF5=On AMS
# shell: bash -l {0}
# run: |
# source /spack/share/spack/setup-env.sh
# spack env activate -p /ams-spack-env
# rm -rf build/
# mkdir build
# cd build
# export AMS_MFEM_PATH=$(spack location -i mfem)
# export AMS_TORCH_PATH=$(spack location -i py-torch)/lib/python3.10/site-packages/torch/share/cmake/Torch
# export AMS_FAISS_PATH=$(spack location -i faiss)
# export AMS_UMPIRE_PATH=$(spack location -i umpire)
# export AMS_HDF5_PATH=$(spack location -i hdf5)
# cmake \
# -DBUILD_SHARED_LIBS=On \
# -DCMAKE_PREFIX_PATH=$INSTALL_DIR \
# -DWITH_CALIPER=On \
# -DWITH_HDF5=On \
# -DWITH_EXAMPLES=On \
# -DAMS_HDF5_DIR=$AMS_HDF5_PATH \
# -DCMAKE_INSTALL_PREFIX=./install \
# -DCMAKE_BUILD_TYPE=Release \
# -DCUDA_ARCH=70 \
# -DWITH_CUDA=On \
# -DUMPIRE_DIR=$AMS_UMPIRE_PATH \
# -DMFEM_DIR=$AMS_MFEM_PATH \
# -DWITH_FAISS=On \
# -DWITH_MPI=On \
# -DWITH_TORCH=On \
# -DWITH_TESTS=On \
# -DTorch_DIR=$AMS_TORCH_PATH \
# -DFAISS_DIR=$AMS_FAISS_PATH \
# -DWITH_AMS_DEBUG=On \
# -DWITH_WORKFLOW=On \
# -DWITH_ADIAK=On \
# $GITHUB_WORKSPACE
# make
# - name: Build Torch=Off FAISS=On HDF5=On AMS
# shell: bash -l {0}
# run: |
# source /spack/share/spack/setup-env.sh
# spack env activate -p /ams-spack-env
# rm -rf build/
# mkdir build
# cd build
# export AMS_MFEM_PATH=$(spack location -i mfem)
# export AMS_FAISS_PATH=$(spack location -i faiss)
# export AMS_UMPIRE_PATH=$(spack location -i umpire)
# export AMS_HDF5_PATH=$(spack location -i hdf5)
# cmake \
# -DBUILD_SHARED_LIBS=On \
# -DCMAKE_PREFIX_PATH=$INSTALL_DIR \
# -DWITH_CALIPER=On \
# -DWITH_HDF5=On \
# -DWITH_EXAMPLES=On \
# -DAMS_HDF5_DIR=$AMS_HDF5_PATH \
# -DCMAKE_INSTALL_PREFIX=./install \
# -DCMAKE_BUILD_TYPE=Release \
# -DCUDA_ARCH=70 \
# -DWITH_CUDA=On \
# -DUMPIRE_DIR=$AMS_UMPIRE_PATH \
# -DMFEM_DIR=$AMS_MFEM_PATH \
# -DWITH_FAISS=On \
# -DWITH_MPI=On \
# -DWITH_TORCH=Off \
# -DWITH_TESTS=On \
# -DFAISS_DIR=$AMS_FAISS_PATH \
# -DWITH_AMS_DEBUG=On \
# -DWITH_WORKFLOW=On \
# -DWITH_ADIAK=On \
# $GITHUB_WORKSPACE
# make
# - name: Build Torch=Off FAISS=Off HDF5=On AMS
# shell: bash -l {0}
# run: |
# source /spack/share/spack/setup-env.sh
# spack env activate -p /ams-spack-env
# rm -rf build/
# mkdir build
# cd build
# export AMS_MFEM_PATH=$(spack location -i mfem)
# export AMS_UMPIRE_PATH=$(spack location -i umpire)
# export AMS_HDF5_PATH=$(spack location -i hdf5)
# cmake \
# -DBUILD_SHARED_LIBS=On \
# -DCMAKE_PREFIX_PATH=$INSTALL_DIR \
# -DWITH_CALIPER=On \
# -DWITH_EXAMPLES=On \
# -DAMS_HDF5_DIR=$AMS_HDF5_PATH \
# -DWITH_HDF5=On \
# -DCMAKE_INSTALL_PREFIX=./install \
# -DCMAKE_BUILD_TYPE=Release \
# -DCUDA_ARCH=70 \
# -DWITH_CUDA=On \
# -DUMPIRE_DIR=$AMS_UMPIRE_PATH \
# -DMFEM_DIR=$AMS_MFEM_PATH \
# -DWITH_FAISS=Off \
# -DWITH_MPI=On \
# -DWITH_TORCH=Off \
# -DWITH_TESTS=On \
# -DWITH_AMS_DEBUG=On \
# -DWITH_WORKFLOW=On \
# -DWITH_ADIAK=On \
# $GITHUB_WORKSPACE
# make
# - name: Build Torch=Off FAISS=Off HDF5=Off AMS
# shell: bash -l {0}
# run: |
# source /spack/share/spack/setup-env.sh
# spack env activate -p /ams-spack-env
# rm -rf build/
# mkdir build
# cd build
# export AMS_MFEM_PATH=$(spack location -i mfem)
# export AMS_UMPIRE_PATH=$(spack location -i umpire)
# cmake \
# -DBUILD_SHARED_LIBS=On \
# -DCMAKE_PREFIX_PATH=$INSTALL_DIR \
# -DWITH_CALIPER=On \
# -DWITH_EXAMPLES=On \
# -DCMAKE_INSTALL_PREFIX=./install \
# -DCMAKE_BUILD_TYPE=Release \
# -DCUDA_ARCH=70 \
# -DWITH_CUDA=On \
# -DUMPIRE_DIR=$AMS_UMPIRE_PATH \
# -DMFEM_DIR=$AMS_MFEM_PATH \
# -DWITH_FAISS=Off \
# -DWITH_MPI=On \
# -DWITH_TORCH=Off \
# -DWITH_TESTS=On \
# -DWITH_AMS_DEBUG=On \
# -DWITH_WORKFLOW=On \
# -DWITH_ADIAK=Off \
# $GITHUB_WORKSPACE
# make
build-rmq-tests:
# The type of runner that the job will run on
runs-on: ubuntu-latest
services:
rabbitmq:
image: rabbitmq:3.11
env:
RABBITMQ_DEFAULT_USER: guest
RABBITMQ_DEFAULT_PASS: guest
ports:
- 5672
container:
image: ghcr.io/llnl/ams-ci-almalinux8:latest
env:
RABBITMQ_USER: guest
RABBITMQ_PASS: guest
RABBITMQ_HOST: rabbitmq
RABBITMQ_PORT: 5672
steps:
- uses: actions/checkout@v4
- name: Build Torch=On FAISS=On RMQ=On AMS
shell: bash -l {0}
run: |
module load gcc/11.2.1
export SPACK_ROOT=/spack/
source /spack/share/spack/setup-env.sh
spack env activate -p /ams-spack-env
rm -rf build/
mkdir build
cd build
export AMS_MFEM_PATH=$(spack location -i mfem)
export AMS_TORCH_PATH=$(spack location -i py-torch)/lib/python3.10/site-packages/torch/share/cmake/Torch
export AMS_FAISS_PATH=$(spack location -i faiss)
export AMS_UMPIRE_PATH=$(spack location -i umpire)
export AMS_HDF5_PATH=$(spack location -i hdf5)
export AMS_AMQPCPP_PATH=$(spack location -i amqp-cpp)/cmake
cmake \
-DBUILD_SHARED_LIBS=On \
-DCMAKE_PREFIX_PATH=$INSTALL_DIR \
-DWITH_CALIPER=On \
-DWITH_HDF5=On \
-DWITH_EXAMPLES=On \
-DAMS_HDF5_DIR=$AMS_HDF5_PATH \
-DCMAKE_INSTALL_PREFIX=./install \
-DCMAKE_BUILD_TYPE=Release \
-DWITH_CUDA=Off \
-DUMPIRE_DIR=$AMS_UMPIRE_PATH \
-DMFEM_DIR=$AMS_MFEM_PATH \
-DWITH_FAISS=On \
-DWITH_MPI=On \
-DWITH_TORCH=On \
-DWITH_TESTS=On \
-DTorch_DIR=$AMS_TORCH_PATH \
-DFAISS_DIR=$AMS_FAISS_PATH \
-DWITH_AMS_DEBUG=On \
-DWITH_WORKFLOW=On \
-DWITH_ADIAK=Off \
-DWITH_RMQ=On \
-Damqpcpp_DIR=$AMS_AMQPCPP_PATH \
$GITHUB_WORKSPACE
make
- name: Run tests Torch=On FAISS=On RMQ=On AMSlib RabbitMQ egress
run: |
cd build
export SPACK_ROOT=/spack/
source /spack/share/spack/setup-env.sh
spack env activate -p /ams-spack-env
# We overwrite the rmq.json created by CMake
echo """{
\"db\": {
\"dbType\": \"rmq\",
\"rmq_config\": {
\"rabbitmq-name\": \"rabbit\",
\"rabbitmq-user\": \"${RABBITMQ_USER}\",
\"rabbitmq-password\": \"${RABBITMQ_PASS}\",
\"service-port\": ${RABBITMQ_PORT},
\"service-host\": \"${RABBITMQ_HOST}\",
\"rabbitmq-vhost\": \"/\",
\"rabbitmq-outbound-queue\": \"test-ci\",
\"rabbitmq-exchange\": \"ams-fanout\",
\"rabbitmq-routing-key\": \"training\"
},
\"update_surrogate\": false
},
\"ml_models\": {},
\"domain_models\": {}
}""" > $GITHUB_WORKSPACE/build/tests/AMSlib/rmq.json
# echo """{
# \"rabbitmq-name\": \"rabbit\",
# \"rabbitmq-user\": \"${RABBITMQ_USER}\",
# \"rabbitmq-password\": \"${RABBITMQ_PASS}\",
# \"service-port\": ${RABBITMQ_PORT},
# \"service-host\": \"${RABBITMQ_HOST}\",
# \"rabbitmq-vhost\": \"/\",
# \"rabbitmq-outbound-queue\": \"test-ci\",
# \"rabbitmq-exchange\": \"ams-fanout\",
# \"rabbitmq-routing-key\": \"training\"
# }""" > $GITHUB_WORKSPACE/rmq.json
# python3 $GITHUB_WORKSPACE/tools/rmq/send_ams.py -c $GITHUB_WORKSPACE/rmq.json -r test3 -n 10
# python3 $GITHUB_WORKSPACE/tools/rmq/recv_binary.py -c $GITHUB_WORKSPACE/rmq.json -q test3 -n 10
# #> $GITHUB_WORKSPACE/output.txt 2>&1 || $GITHUB_WORKSPACE/output.txt
AMS_LOG_LEVEL=debug AMS_OBJECTS=$GITHUB_WORKSPACE/build/tests/AMSlib/rmq.json $GITHUB_WORKSPACE/build/tests/AMSlib/ams_rmq 0 8 9 "double" 2 1024
#ctest --output-on-failure -R AMSEndToEndFromJSON::NoModel::Double::DB::rmq::HOST
env:
RABBITMQ_USER: guest
RABBITMQ_PASS: guest
RABBITMQ_HOST: rabbitmq
RABBITMQ_PORT: 5672
# - name: Setup tmate session
# if: ${{ failure() }}
# uses: mxschmitt/action-tmate@v3.19
# with:
# limit-access-to-actor: true
# sudo: false
# # timeout-minutes: 15
# env:
# RABBITMQ_USER: guest
# RABBITMQ_PASS: guest
# RABBITMQ_HOST: rabbitmq
# RABBITMQ_PORT: 5672