Skip to content

correct the source filepath #43

correct the source filepath

correct the source filepath #43

Workflow file for this run

name: Linux ICD tests
on:
push:
schedule:
- cron: '0 0 * * *' # UTC time
env:
ICD_RXJS_BRANCH_NAME: dev
jobs:
Build:
name: Build ${{ matrix.os_version }}
runs-on: ${{ matrix.runner }}
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
include:
- os_version: ubuntu-20.04
runner: [self-hosted, Linux, Apptainer, ICD1]
image: /opt/apptainer/ubuntu-2004-dec2023.sif
- os_version: ubuntu-22.04
runner: [self-hosted, Linux, Apptainer, ICD2]
image: /opt/apptainer/ubuntu-2204-dec2023.sif
- os_version: rhel-7
runner: [self-hosted, Linux, Apptainer, ICD3]
image: /opt/apptainer/centos7-dec2023.sif
- os_version: rhel-8
runner: [self-hosted, Linux, Apptainer, ICD4]
image: /opt/apptainer/almalinux8-dec2023.sif
- os_version: rhel-9
runner: [self-hosted, Linux, Apptainer, ICD5]
image: /opt/apptainer/almalinux9-dec2023.sif
steps:
- name: Checkout
uses: actions/checkout@v3
with:
path: source
- name: Build backend
shell: bash
run: |
SRC_DIR=$GITHUB_WORKSPACE/source
BUILD_DIR=$GITHUB_WORKSPACE/build-${{ matrix.os_version }}
rm -rf $BUILD_DIR
mkdir -p $BUILD_DIR
apptainer exec --bind $GITHUB_WORKSPACE:$GITHUB_WORKSPACE --pwd $SRC_DIR ${{ matrix.image }} /bin/bash -c "\
git submodule update --init --recursive && \
cd $BUILD_DIR && \
cmake $SRC_DIR \
-Dtest=on \
-DCMAKE_BUILD_TYPE=Debug \
-DDevSuppressExternalWarnings=ON \
-DCMAKE_CXX_FLAGS='-O0 -g -fsanitize=address -fno-omit-frame-pointer' \
-DCMAKE_EXE_LINKER_FLAGS='-fsanitize=address' && \
make -j 16"
- name: Check backend runs
shell: bash
run: |
BUILD_DIR=$GITHUB_WORKSPACE/build-${{ matrix.os_version }}
apptainer exec --bind $GITHUB_WORKSPACE:$GITHUB_WORKSPACE --pwd $BUILD_DIR ${{ matrix.image }} /bin/bash -c "./carta_backend --version"
Prepare-ICD-RxJS:
name: Prepare-ICD-RxJS ${{ matrix.os_version }}
runs-on: ${{ matrix.runner }}
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
include:
- os_version: ubuntu-20.04
runner: [self-hosted, Linux, Apptainer, ICD1]
image: /opt/apptainer/ubuntu-2004-dec2023.sif
port: 9001
- os_version: ubuntu-22.04
runner: [self-hosted, Linux, Apptainer, ICD2]
image: /opt/apptainer/ubuntu-2204-dec2023.sif
port: 9002
- os_version: rhel-7
runner: [self-hosted, Linux, Apptainer, ICD3]
image: /opt/apptainer/centos7-dec2023.sif
port: 9003
- os_version: rhel-8
runner: [self-hosted, Linux, Apptainer, ICD4]
image: /opt/apptainer/almalinux8-dec2023.sif
port: 9004
- os_version: rhel-9
runner: [self-hosted, Linux, Apptainer, ICD5]
image: /opt/apptainer/almalinux9-dec2023.sif
port: 9005
needs: Build
steps:
- name: Prepare ICD-RxJS
shell: bash
run: |
BUILD_DIR=$GITHUB_WORKSPACE/build-${{ matrix.os_version }}
ICD_RXJS_DIR=$BUILD_DIR/ICD-RxJS
apptainer exec --bind $GITHUB_WORKSPACE:$GITHUB_WORKSPACE --pwd $BUILD_DIR ${{ matrix.image }} /bin/bash -c "\
if [ -d '$ICD_RXJS_DIR' ]; then
cd $ICD_RXJS_DIR && git pull
else
echo 'Cloning ICD-RxJS repository...'
git clone https://github.com/CARTAvis/ICD-RxJS.git
cd ICD-RxJS
fi && \
git checkout ${{ env.ICD_RXJS_BRANCH_NAME }} && \
git submodule init && git submodule update && npm install && \
cd protobuf && \
./build_proto.sh && \
cd ../src/test && \
perl -p -i -e 's/3002/${{ matrix.port }}/' config.json"
File-Browser-ICD-Tests:
name: File-Browser ${{ matrix.os_version }}
runs-on: ${{ matrix.runner }}
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
include:
- os_version: ubuntu-20.04
runner: [self-hosted, Linux, Apptainer, ICD1]
image: /opt/apptainer/ubuntu-2004-dec2023.sif
port: 9001
- os_version: ubuntu-22.04
runner: [self-hosted, Linux, Apptainer, ICD2]
image: /opt/apptainer/ubuntu-2204-dec2023.sif
port: 9002
- os_version: rhel-7
runner: [self-hosted, Linux, Apptainer, ICD3]
image: /opt/apptainer/centos7-dec2023.sif
port: 9003
- os_version: rhel-8
runner: [self-hosted, Linux, Apptainer, ICD4]
image: /opt/apptainer/almalinux8-dec2023.sif
port: 9004
- os_version: rhel-9
runner: [self-hosted, Linux, Apptainer, ICD5]
image: /opt/apptainer/almalinux9-dec2023.sif
port: 9005
needs: [Build, Prepare-ICD-RxJS]
steps:
- name: File Browser ICD tests
uses: ./source/.github/actions/run-apptainer
with:
os_version: ${{ matrix.os_version }}
image: ${{ matrix.image }}
port: ${{ matrix.port }}
test_stage: 'file_browser'
Animator-ICD-Tests:
name: Animator ${{ matrix.os_version }}
runs-on: ${{ matrix.runner }}
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
include:
- os_version: ubuntu-20.04
runner: [self-hosted, Linux, Apptainer, ICD1]
image: /opt/apptainer/ubuntu-2004-dec2023.sif
port: 9001
- os_version: ubuntu-22.04
runner: [self-hosted, Linux, Apptainer, ICD2]
image: /opt/apptainer/ubuntu-2204-dec2023.sif
port: 9002
- os_version: rhel-7
runner: [self-hosted, Linux, Apptainer, ICD3]
image: /opt/apptainer/centos7-dec2023.sif
port: 9003
- os_version: rhel-8
runner: [self-hosted, Linux, Apptainer, ICD4]
image: /opt/apptainer/almalinux8-dec2023.sif
port: 9004
- os_version: rhel-9
runner: [self-hosted, Linux, Apptainer, ICD5]
image: /opt/apptainer/almalinux9-dec2023.sif
port: 9005
needs: [Prepare-ICD-RxJS]
steps:
- name: Animator ICD tests
uses: ./source/.github/actions/run-apptainer
with:
os_version: ${{ matrix.os_version }}
image: ${{ matrix.image }}
port: ${{ matrix.port }}
test_stage: 'animator'
Region-Statistics-ICD-Tests:
name: Region-Statistics ${{ matrix.os_version }}
runs-on: ${{ matrix.runner }}
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
include:
- os_version: ubuntu-20.04
runner: [self-hosted, Linux, Apptainer, ICD1]
image: /opt/apptainer/ubuntu-2004-dec2023.sif
port: 9001
- os_version: ubuntu-22.04
runner: [self-hosted, Linux, Apptainer, ICD2]
image: /opt/apptainer/ubuntu-2204-dec2023.sif
port: 9002
- os_version: rhel-7
runner: [self-hosted, Linux, Apptainer, ICD3]
image: /opt/apptainer/centos7-dec2023.sif
port: 9003
- os_version: rhel-8
runner: [self-hosted, Linux, Apptainer, ICD4]
image: /opt/apptainer/almalinux8-dec2023.sif
port: 9004
- os_version: rhel-9
runner: [self-hosted, Linux, Apptainer, ICD5]
image: /opt/apptainer/almalinux9-dec2023.sif
port: 9005
needs: [Prepare-ICD-RxJS]
steps:
- name: Region Statistics ICD tests
uses: ./source/.github/actions/run-apptainer
with:
os_version: ${{ matrix.os_version }}
image: ${{ matrix.image }}
port: ${{ matrix.port }}
test_stage: 'region_statistics'
Region-Manipulation-ICD-Tests:
name: Region-Manipulation ${{ matrix.os_version }}
runs-on: ${{ matrix.runner }}
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
include:
- os_version: ubuntu-20.04
runner: [self-hosted, Linux, Apptainer, ICD1]
image: /opt/apptainer/ubuntu-2004-dec2023.sif
port: 9001
- os_version: ubuntu-22.04
runner: [self-hosted, Linux, Apptainer, ICD2]
image: /opt/apptainer/ubuntu-2204-dec2023.sif
port: 9002
- os_version: rhel-7
runner: [self-hosted, Linux, Apptainer, ICD3]
image: /opt/apptainer/centos7-dec2023.sif
port: 9003
- os_version: rhel-8
runner: [self-hosted, Linux, Apptainer, ICD4]
image: /opt/apptainer/almalinux8-dec2023.sif
port: 9004
- os_version: rhel-9
runner: [self-hosted, Linux, Apptainer, ICD5]
image: /opt/apptainer/almalinux9-dec2023.sif
port: 9005
needs: [Prepare-ICD-RxJS]
steps:
- name: Region Manipulation ICD tests
uses: ./source/.github/actions/run-apptainer
with:
os_version: ${{ matrix.os_version }}
image: ${{ matrix.image }}
port: ${{ matrix.port }}
test_stage: 'region_manipulation'
Cube-Histogram-ICD-Tests:
name: Cube-Histogram ${{ matrix.os_version }}
runs-on: ${{ matrix.runner }}
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
include:
- os_version: ubuntu-20.04
runner: [self-hosted, Linux, Apptainer, ICD1]
image: /opt/apptainer/ubuntu-2004-dec2023.sif
port: 9001
- os_version: ubuntu-22.04
runner: [self-hosted, Linux, Apptainer, ICD2]
image: /opt/apptainer/ubuntu-2204-dec2023.sif
port: 9002
- os_version: rhel-7
runner: [self-hosted, Linux, Apptainer, ICD3]
image: /opt/apptainer/centos7-dec2023.sif
port: 9003
- os_version: rhel-8
runner: [self-hosted, Linux, Apptainer, ICD4]
image: /opt/apptainer/almalinux8-dec2023.sif
port: 9004
- os_version: rhel-9
runner: [self-hosted, Linux, Apptainer, ICD5]
image: /opt/apptainer/almalinux9-dec2023.sif
port: 9005
needs: [Prepare-ICD-RxJS]
steps:
- name: Cube Histogram ICD tests
uses: ./source/.github/actions/run-apptainer
with:
os_version: ${{ matrix.os_version }}
image: ${{ matrix.image }}
port: ${{ matrix.port }}
test_stage: 'cube_histogram'
PV-Generator-ICD-Tests:
name: PV-Generator ${{ matrix.os_version }}
runs-on: ${{ matrix.runner }}
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
include:
- os_version: ubuntu-20.04
runner: [self-hosted, Linux, Apptainer, ICD1]
image: /opt/apptainer/ubuntu-2004-dec2023.sif
port: 9001
- os_version: ubuntu-22.04
runner: [self-hosted, Linux, Apptainer, ICD2]
image: /opt/apptainer/ubuntu-2204-dec2023.sif
port: 9002
- os_version: rhel-7
runner: [self-hosted, Linux, Apptainer, ICD3]
image: /opt/apptainer/centos7-dec2023.sif
port: 9003
- os_version: rhel-8
runner: [self-hosted, Linux, Apptainer, ICD4]
image: /opt/apptainer/almalinux8-dec2023.sif
port: 9004
- os_version: rhel-9
runner: [self-hosted, Linux, Apptainer, ICD5]
image: /opt/apptainer/almalinux9-dec2023.sif
port: 9005
needs: [Prepare-ICD-RxJS]
steps:
- name: PV Generator ICD tests
uses: ./source/.github/actions/run-apptainer
with:
os_version: ${{ matrix.os_version }}
image: ${{ matrix.image }}
port: ${{ matrix.port }}
test_stage: 'pv_generator'
Raster-Tiles-ICD-Tests:
name: Raster-Tiles ${{ matrix.os_version }}
runs-on: ${{ matrix.runner }}
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
include:
- os_version: ubuntu-20.04
runner: [self-hosted, Linux, Apptainer, ICD1]
image: /opt/apptainer/ubuntu-2004-dec2023.sif
port: 9001
- os_version: ubuntu-22.04
runner: [self-hosted, Linux, Apptainer, ICD2]
image: /opt/apptainer/ubuntu-2204-dec2023.sif
port: 9002
- os_version: rhel-7
runner: [self-hosted, Linux, Apptainer, ICD3]
image: /opt/apptainer/centos7-dec2023.sif
port: 9003
- os_version: rhel-8
runner: [self-hosted, Linux, Apptainer, ICD4]
image: /opt/apptainer/almalinux8-dec2023.sif
port: 9004
- os_version: rhel-9
runner: [self-hosted, Linux, Apptainer, ICD5]
image: /opt/apptainer/almalinux9-dec2023.sif
port: 9005
needs: [Prepare-ICD-RxJS]
steps:
- name: Raster Tiles ICD tests
uses: ./source/.github/actions/run-apptainer
with:
os_version: ${{ matrix.os_version }}
image: ${{ matrix.image }}
port: ${{ matrix.port }}
test_stage: 'raster_tiles'
Catalog-ICD-Tests:
name: Catalog ${{ matrix.os_version }}
runs-on: ${{ matrix.runner }}
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
include:
- os_version: ubuntu-20.04
runner: [self-hosted, Linux, Apptainer, ICD1]
image: /opt/apptainer/ubuntu-2004-dec2023.sif
port: 9001
- os_version: ubuntu-22.04
runner: [self-hosted, Linux, Apptainer, ICD2]
image: /opt/apptainer/ubuntu-2204-dec2023.sif
port: 9002
- os_version: rhel-7
runner: [self-hosted, Linux, Apptainer, ICD3]
image: /opt/apptainer/centos7-dec2023.sif
port: 9003
- os_version: rhel-8
runner: [self-hosted, Linux, Apptainer, ICD4]
image: /opt/apptainer/almalinux8-dec2023.sif
port: 9004
- os_version: rhel-9
runner: [self-hosted, Linux, Apptainer, ICD5]
image: /opt/apptainer/almalinux9-dec2023.sif
port: 9005
needs: [Prepare-ICD-RxJS]
steps:
- name: Catalog ICD tests
uses: ./source/.github/actions/run-apptainer
with:
os_version: ${{ matrix.os_version }}
image: ${{ matrix.image }}
port: ${{ matrix.port }}
test_stage: 'catalog'
Moment-ICD-Tests:
name: Moment ${{ matrix.os_version }}
runs-on: ${{ matrix.runner }}
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
include:
- os_version: ubuntu-20.04
runner: [self-hosted, Linux, Apptainer, ICD1]
image: /opt/apptainer/ubuntu-2004-dec2023.sif
port: 9001
- os_version: ubuntu-22.04
runner: [self-hosted, Linux, Apptainer, ICD2]
image: /opt/apptainer/ubuntu-2204-dec2023.sif
port: 9002
- os_version: rhel-7
runner: [self-hosted, Linux, Apptainer, ICD3]
image: /opt/apptainer/centos7-dec2023.sif
port: 9003
- os_version: rhel-8
runner: [self-hosted, Linux, Apptainer, ICD4]
image: /opt/apptainer/almalinux8-dec2023.sif
port: 9004
- os_version: rhel-9
runner: [self-hosted, Linux, Apptainer, ICD5]
image: /opt/apptainer/almalinux9-dec2023.sif
port: 9005
needs: [Prepare-ICD-RxJS]
steps:
- name: Moment ICD tests
uses: ./source/.github/actions/run-apptainer
with:
os_version: ${{ matrix.os_version }}
image: ${{ matrix.image }}
port: ${{ matrix.port }}
test_stage: 'moment'
Resume-Tests:
name: Resume ${{ matrix.os_version }}
runs-on: ${{ matrix.runner }}
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
include:
- os_version: ubuntu-20.04
runner: [self-hosted, Linux, Apptainer, ICD1]
image: /opt/apptainer/ubuntu-2004-dec2023.sif
port: 9001
- os_version: ubuntu-22.04
runner: [self-hosted, Linux, Apptainer, ICD2]
image: /opt/apptainer/ubuntu-2204-dec2023.sif
port: 9002
- os_version: rhel-7
runner: [self-hosted, Linux, Apptainer, ICD3]
image: /opt/apptainer/centos7-dec2023.sif
port: 9003
- os_version: rhel-8
runner: [self-hosted, Linux, Apptainer, ICD4]
image: /opt/apptainer/almalinux8-dec2023.sif
port: 9004
- os_version: rhel-9
runner: [self-hosted, Linux, Apptainer, ICD5]
image: /opt/apptainer/almalinux9-dec2023.sif
port: 9005
needs: [Prepare-ICD-RxJS]
steps:
- name: Resume ICD tests
uses: ./source/.github/actions/run-apptainer
with:
os_version: ${{ matrix.os_version }}
image: ${{ matrix.image }}
port: ${{ matrix.port }}
test_stage: 'resume'
Match-ICD-Tests:
name: Match ${{ matrix.os_version }}
runs-on: ${{ matrix.runner }}
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
include:
- os_version: ubuntu-20.04
runner: [self-hosted, Linux, Apptainer, ICD1]
image: /opt/apptainer/ubuntu-2004-dec2023.sif
port: 9001
- os_version: ubuntu-22.04
runner: [self-hosted, Linux, Apptainer, ICD2]
image: /opt/apptainer/ubuntu-2204-dec2023.sif
port: 9002
- os_version: rhel-7
runner: [self-hosted, Linux, Apptainer, ICD3]
image: /opt/apptainer/centos7-dec2023.sif
port: 9003
- os_version: rhel-8
runner: [self-hosted, Linux, Apptainer, ICD4]
image: /opt/apptainer/almalinux8-dec2023.sif
port: 9004
- os_version: rhel-9
runner: [self-hosted, Linux, Apptainer, ICD5]
image: /opt/apptainer/almalinux9-dec2023.sif
port: 9005
needs: [Prepare-ICD-RxJS]
steps:
- name: Match ICD tests
uses: ./source/.github/actions/run-apptainer
with:
os_version: ${{ matrix.os_version }}
image: ${{ matrix.image }}
port: ${{ matrix.port }}
test_stage: 'match'
Close-File-Tests:
name: Close-File ${{ matrix.os_version }}
runs-on: ${{ matrix.runner }}
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
include:
- os_version: ubuntu-20.04
runner: [self-hosted, Linux, Apptainer, ICD1]
image: /opt/apptainer/ubuntu-2004-dec2023.sif
port: 9001
- os_version: ubuntu-22.04
runner: [self-hosted, Linux, Apptainer, ICD2]
image: /opt/apptainer/ubuntu-2204-dec2023.sif
port: 9002
- os_version: rhel-7
runner: [self-hosted, Linux, Apptainer, ICD3]
image: /opt/apptainer/centos7-dec2023.sif
port: 9003
- os_version: rhel-8
runner: [self-hosted, Linux, Apptainer, ICD4]
image: /opt/apptainer/almalinux8-dec2023.sif
port: 9004
- os_version: rhel-9
runner: [self-hosted, Linux, Apptainer, ICD5]
image: /opt/apptainer/almalinux9-dec2023.sif
port: 9005
needs: [Prepare-ICD-RxJS]
steps:
- name: Close File ICD tests
uses: ./source/.github/actions/run-apptainer
with:
os_version: ${{ matrix.os_version }}
image: ${{ matrix.image }}
port: ${{ matrix.port }}
test_stage: 'close_file'
Image-Fitting-Tests:
name: Image-Fitting ${{ matrix.os_version }}
runs-on: ${{ matrix.runner }}
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
include:
- os_version: ubuntu-20.04
runner: [self-hosted, Linux, Apptainer, ICD1]
image: /opt/apptainer/ubuntu-2004-dec2023.sif
port: 9001
- os_version: ubuntu-22.04
runner: [self-hosted, Linux, Apptainer, ICD2]
image: /opt/apptainer/ubuntu-2204-dec2023.sif
port: 9002
- os_version: rhel-7
runner: [self-hosted, Linux, Apptainer, ICD3]
image: /opt/apptainer/centos7-dec2023.sif
port: 9003
- os_version: rhel-8
runner: [self-hosted, Linux, Apptainer, ICD4]
image: /opt/apptainer/almalinux8-dec2023.sif
port: 9004
- os_version: rhel-9
runner: [self-hosted, Linux, Apptainer, ICD5]
image: /opt/apptainer/almalinux9-dec2023.sif
port: 9005
needs: [Prepare-ICD-RxJS]
steps:
- name: Image Fitting ICD tests
uses: ./source/.github/actions/run-apptainer
with:
os_version: ${{ matrix.os_version }}
image: ${{ matrix.image }}
port: ${{ matrix.port }}
test_stage: 'image_fitting'
Vector-Overlay-Tests:
name: Vector-Overlay ${{ matrix.os_version }}
runs-on: ${{ matrix.runner }}
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
include:
- os_version: ubuntu-20.04
runner: [self-hosted, Linux, Apptainer, ICD1]
image: /opt/apptainer/ubuntu-2004-dec2023.sif
port: 9001
- os_version: ubuntu-22.04
runner: [self-hosted, Linux, Apptainer, ICD2]
image: /opt/apptainer/ubuntu-2204-dec2023.sif
port: 9002
- os_version: rhel-7
runner: [self-hosted, Linux, Apptainer, ICD3]
image: /opt/apptainer/centos7-dec2023.sif
port: 9003
- os_version: rhel-8
runner: [self-hosted, Linux, Apptainer, ICD4]
image: /opt/apptainer/almalinux8-dec2023.sif
port: 9004
- os_version: rhel-9
runner: [self-hosted, Linux, Apptainer, ICD5]
image: /opt/apptainer/almalinux9-dec2023.sif
port: 9005
needs: [Prepare-ICD-RxJS]
steps:
- name: Vector Overlay ICD tests
uses: ./source/.github/actions/run-apptainer
with:
os_version: ${{ matrix.os_version }}
image: ${{ matrix.image }}
port: ${{ matrix.port }}
test_stage: 'vector_overlay'
Notify:
name: Send notifications
runs-on: ubuntu-latest
needs:
- Build
- Prepare-ICD-RxJS
- File-Browser-ICD-Tests
- Animator-ICD-Tests
- Region-Statistics-ICD-Tests
- Region-Manipulation-ICD-Tests
- Cube-Histogram-ICD-Tests
- PV-Generator-ICD-Tests
- Raster-Tiles-ICD-Tests
- Catalog-ICD-Tests
- Moment-ICD-Tests
- Match-ICD-Tests
- Close-File-Tests
- Image-Fitting-Tests
- Vector-Overlay-Tests
- Resume-Tests
if: always()
steps:
- name: Notify Slack
uses: baijunyao/[email protected]
if: always()
with:
slack_channel_id: icd-actions-build-status
slack_bot_token: ${{ secrets.SLACK_BOT_TOKEN }}
github_context: ${{ toJson(github) }}