Skip to content

remove running containers as root and the rhel7 container for now #20

remove running containers as root and the rhel7 container for now

remove running containers as root and the rhel7 container for now #20

Workflow file for this run

name: Linux ICD tests
on:
push:
schedule:
- cron: '0 0 * * *' # UTC time
env:
ICD_RXJS_BRANCH_NAME: ajm/icd-test-stages-lists
jobs:
Build:
name: Build ${{ matrix.os_version }}
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
include:
- os_version: ubuntu-20.04
runner: [self-hosted, Linux, Docker, ICD1]
image: ajmasiaa/focal-jenkins-apr2022
- os_version: ubuntu-22.04
runner: [self-hosted, Linux, Docker, ICD1]
image: ajmasiaa/jammy-jenkins-sep2022
- os_version: rhel-8
runner: [self-hosted, linux, Docker, ICD2]
image: ajmasiaa/rhel8-jenkins-apr2022
- os_version: rhel-9
runner: [self-hosted, linux, Docker, ICD3]
image: ajmasiaa/rhel9-jenkins-sep2022
env:
SRC_DIR: build-${{ matrix.os_version }}
steps:
- name: Checkout
uses: actions/checkout@v3
with:
path: ${{ env.SRC_DIR }}
- name: Fix ownership
run: |
chown -R $(id -u):$(id -g) $PWD
- name: Start Docker container for Linux platforms
if: runner.os == 'Linux'
id: start_container
run: |
CONTAINER_ID=$(docker run -d --user $(id -u):$(id -g) -v /images:/images \
-v $GITHUB_WORKSPACE:$GITHUB_WORKSPACE \
-w $GITHUB_WORKSPACE ${{ matrix.image }} tail -f /dev/null)
echo "CONTAINER_ID=$CONTAINER_ID" >> $GITHUB_ENV
- name: Build backend
shell: bash
run: |
BUILD_DIR=$GITHUB_WORKSPACE/build-${{ matrix.os_version }}
mkdir -p $BUILD_DIR
docker exec -w $BUILD_DIR $CONTAINER_ID /bin/bash -c "\
git submodule update --init --recursive && \
cmake $GITHUB_WORKSPACE/${{ env.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 }}
docker exec -w $BUILD_DIR $CONTAINER_ID /bin/bash -c "./carta_backend --version"
- name: Stop Docker container
if: runner.os == 'Linux'
run: docker stop $CONTAINER_ID
Prepare-ICD-RxJS:
name: Prepare-ICD-RxJS ${{ matrix.os_version }}
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
include:
- os_version: ubuntu-20.04
runner: [self-hosted, Linux, Docker, ICD1]
image: ajmasiaa/focal-jenkins-apr2022
- os_version: ubuntu-22.04
runner: [self-hosted, Linux, Docker, ICD1]
image: ajmasiaa/jammy-jenkins-sep2022
- os_version: rhel-8
runner: [self-hosted, linux, Docker, ICD2]
image: ajmasiaa/rhel8-jenkins-apr2022
- os_version: rhel-9
runner: [self-hosted, linux, Docker, ICD3]
image: ajmasiaa/rhel9-jenkins-sep2022
needs: Build
env:
SRC_DIR: build-${{ matrix.os_version }}
steps:
- name: Start Docker container for Linux platforms
if: runner.os == 'Linux'
id: start_container
run: |
CONTAINER_ID=$(docker run -d --user $(id -u):$(id -g) -v /images:/images \
-v $GITHUB_WORKSPACE:$GITHUB_WORKSPACE \
-w $GITHUB_WORKSPACE ${{ matrix.image }} tail -f /dev/null)
echo "CONTAINER_ID=$CONTAINER_ID" >> $GITHUB_ENV
- name: Prepare ICD-RxJS
shell: bash
working-directory: ${{ env.SRC_DIR }}
run: |
execute() {
if [[ "$RUNNER_OS" == "Linux" ]]; then
docker exec -w $GITHUB_WORKSPACE/${{ env.SRC_DIR }} $CONTAINER_ID /bin/bash -c "$1"
else
eval "$1"
fi
}
execute "export npm_config_cache=${GITHUB_WORKSPACE}/.npm && \
npm --global cache verify && \
git clone https://github.com/CARTAvis/ICD-RxJS.git && \
cd ICD-RxJS && \
git checkout ${{ env.ICD_RXJS_BRANCH_NAME }} && \
git submodule init && git submodule update && npm install && \
cd protobuf && \
./build_proto.sh"
- name: Stop Docker container
run: |
if [ -n "$CONTAINER_ID" ]; then
docker stop $CONTAINER_ID
fi
File-Browser-ICD-Tests:
name: File-Browser ${{ matrix.os_version }}
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
include:
- os_version: ubuntu-20.04
runner: [self-hosted, Linux, Docker, ICD1]
image: ajmasiaa/focal-jenkins-apr2022
- os_version: ubuntu-22.04
runner: [self-hosted, Linux, Docker, ICD1]
image: ajmasiaa/jammy-jenkins-sep2022
- os_version: rhel-8
runner: [self-hosted, linux, Docker, ICD2]
image: ajmasiaa/rhel8-jenkins-apr2022
- os_version: rhel-9
runner: [self-hosted, linux, Docker, ICD3]
image: ajmasiaa/rhel9-jenkins-sep2022
- os_version: ubuntu-20.04
env:
SRC_DIR: build-${{ matrix.os_version }}
CONTAINER_ID: ""
needs: [Build, Prepare-ICD-RxJS]
if: always()
steps:
- name: Checkout
uses: actions/checkout@v3
with:
path: source
- name: Start Docker container
run: |
CONTAINER_ID=$(docker run -d --user $(id -u):$(id -g) -v /images:/images \
-v $GITHUB_WORKSPACE:$GITHUB_WORKSPACE \
-w $GITHUB_WORKSPACE ${{ matrix.image }} tail -f /dev/null)
echo "CONTAINER_ID=$CONTAINER_ID" >> $GITHUB_ENV
- name: Start carta-backend
uses: ./source/.github/actions/start-carta-backend-linux
with:
src_dir: build-${{ matrix.os_version }}
- name: File Browser ICD tests
run: |
echo "Docker Container ID: $CONTAINER_ID"
CARTA_BACKEND_PID=$(docker exec $CONTAINER_ID ps -aux | grep carta_backend)
echo "carta_backend PID: $CARTA_BACKEND_PID"
TEST_FILES=$(docker exec $CONTAINER_ID cat $GITHUB_WORKSPACE/${{ env.SRC_DIR }}/ICD-RxJS/ICD_test_stages/file_browser.tests)
for test_file in $TEST_FILES; do
docker exec -e CI=true -e npm_config_cache=${GITHUB_WORKSPACE}/.npm \
-w $GITHUB_WORKSPACE/${{ env.SRC_DIR }}/ICD-RxJS $CONTAINER_ID \
npm test -- $test_file
done
shell: bash
- name: Stop Docker container
run: |
if [ -n "$CONTAINER_ID" ]; then
docker stop $CONTAINER_ID
fi
Animator-ICD-Tests:
name: Animator ${{ matrix.os_version }}
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
include:
- os_version: ubuntu-20.04
runner: [self-hosted, Linux, Docker, ICD1]
image: ajmasiaa/focal-jenkins-apr2022
- os_version: ubuntu-22.04
runner: [self-hosted, Linux, Docker, ICD1]
image: ajmasiaa/jammy-jenkins-sep2022
- os_version: rhel-8
runner: [self-hosted, linux, Docker, ICD2]
image: ajmasiaa/rhel8-jenkins-apr2022
- os_version: rhel-9
runner: [self-hosted, linux, Docker, ICD3]
image: ajmasiaa/rhel9-jenkins-sep2022
- os_version: ubuntu-20.04
env:
SRC_DIR: build-${{ matrix.os_version }}
CONTAINER_ID: ""
needs: [File-Browser-ICD-Tests, Prepare-ICD-RxJS]
if: always()
steps:
- name: Checkout
uses: actions/checkout@v3
with:
path: source
- name: Start Docker container
run: |
CONTAINER_ID=$(docker run -d --user $(id -u):$(id -g) -v /images:/images \
-v $GITHUB_WORKSPACE:$GITHUB_WORKSPACE \
-w $GITHUB_WORKSPACE ${{ matrix.image }} tail -f /dev/null)
echo "CONTAINER_ID=$CONTAINER_ID" >> $GITHUB_ENV
- name: Start carta-backend
uses: ./source/.github/actions/start-carta-backend-linux
with:
src_dir: build-${{ matrix.os_version }}
- name: Animator ICD tests
run: |
echo "Docker Container ID: $CONTAINER_ID"
CARTA_BACKEND_PID=$(docker exec $CONTAINER_ID ps -aux | grep carta_backend)
echo "carta_backend PID: $CARTA_BACKEND_PID"
TEST_FILES=$(docker exec $CONTAINER_ID cat $GITHUB_WORKSPACE/${{ env.SRC_DIR }}/ICD-RxJS/ICD_test_stages/animator.tests)
for test_file in $TEST_FILES; do
docker exec -e CI=true -e npm_config_cache=${GITHUB_WORKSPACE}/.npm \
-w $GITHUB_WORKSPACE/${{ env.SRC_DIR }}/ICD-RxJS $CONTAINER_ID \
npm test -- $test_file
done
shell: bash
- name: Stop Docker container
run: |
if [ -n "$CONTAINER_ID" ]; then
docker stop $CONTAINER_ID
fi