Skip to content

docker-drivex-ubuntu-2204 performed by @AdityaAtulTewari #536

docker-drivex-ubuntu-2204 performed by @AdityaAtulTewari

docker-drivex-ubuntu-2204 performed by @AdityaAtulTewari #536

Workflow file for this run

# SPDX-License-Identifier: MIT
# Copyright (c) 2023. University of Texas at Austin. All rights reserved.
name: Docker / Ubuntu 22.04 / DRIVEX
run-name: docker-drivex-ubuntu-2204 performed by @${{ github.triggering_actor }}
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
docker-drivex-ubuntu-2204:
name: gcc / ${{ matrix.project }} / ${{ matrix.build-type }}
runs-on: self-hosted
permissions:
contents: read
packages: write
env:
IMAGE_NAME: pando
CONTAINER_SRC_DIR: "/pando"
CONTAINER_BUILD_DIR: "/pando/dockerbuild-drv"
CONTAINER_WORK_DIR: "/pando"
INTERACTIVE: ""
defaults:
run:
shell: bash -l {0}
strategy:
matrix:
build-type: ['Release']
project: ["ROOT", "GALOIS", "WF4", "BFS", "TC"]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
lfs: 'true'
- name: Set up environment variables
timeout-minutes: 1
run: |
echo "UNAME=$(whoami)" >> $GITHUB_ENV
echo "UID=$(id -u)" >> $GITHUB_ENV
echo "GID=$(id -g)" >> $GITHUB_ENV
echo "SRC_DIR=$(pwd)" >> $GITHUB_ENV
echo "PANDO_TEST_DISCOVERY_TIMEOUT=600" >> $GITHUB_ENV
echo "IMAGE_VERSION=$(git log --pretty="%h" -1 Dockerfile.dev)" >> $GITHUB_ENV
PANDO_CONTAINER_ENV="-e=BUILD_EXAMPLES=ON"
if [ ${{ matrix.project }} == 'ROOT' ]; then
PANDO_CONTAINER_ENV="${PANDO_CONTAINER_ENV} -e=ROOT_TESTS=ON"
fi
if [ ${{ matrix.project }} == 'GALOIS' ]; then
PANDO_CONTAINER_ENV="${PANDO_CONTAINER_ENV} -e=GALOIS_TESTS=ON"
fi
if [ ${{ matrix.project }} == 'WF4' ]; then
PANDO_CONTAINER_ENV="${PANDO_CONTAINER_ENV} -e=BUILD_WORKFLOWS=ON -e=WF4_TESTS=ON"
fi
if [ ${{ matrix.project }} == 'BFS' ]; then
PANDO_CONTAINER_ENV="${PANDO_CONTAINER_ENV} -e=BUILD_MICROBENCH=ON -e=PANDO_VALIDATION_PRINT=ON -e=BFS_TESTS=ON"
fi
if [ ${{ matrix.project }} == 'TC' ]; then
PANDO_CONTAINER_ENV="${PANDO_CONTAINER_ENV} -e=BUILD_MICROBENCH=ON -e=TC_TESTS=ON"
fi
if [ ${{ runner.name }} == 'zerberus-0' ]; then
echo "CONTAINER_CPUSET='--cpuset-cpus=0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30'" >> $GITHUB_ENV
fi
if [ ${{ runner.name }} == 'zerberus-1' ]; then
echo "CONTAINER_CPUSET='--cpuset-cpus=1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31'" >> $GITHUB_ENV
fi
if [ ${{ runner.name }} == 'languedoc-0' ]; then
echo "CONTAINER_CPUSET='--cpuset-cpus=0,1,2,3,4,5,6,7,32,33,34,35,36,37,38,39'" >> $GITHUB_ENV
fi
if [ ${{ runner.name }} == 'languedoc-1' ]; then
echo "CONTAINER_CPUSET='--cpuset-cpus=16,17,18,19,20,21,22,23,48,49,50,51,52,53,54,55'" >> $GITHUB_ENV
fi
if [ ${{ runner.name }} == 'languedoc-2' ]; then
echo "CONTAINER_CPUSET='--cpuset-cpus=8,9,10,11,12,13,14,15,40,41,42,43,44,45,46,47'" >> $GITHUB_ENV
fi
if [ ${{ runner.name }} == 'languedoc-3' ]; then
echo "CONTAINER_CPUSET='--cpuset-cpus=24,25,26,27,28,29,30,31,56,57,58,59,60,61,62,63'" >> $GITHUB_ENV
fi
echo "PANDO_CONTAINER_ENV=${PANDO_CONTAINER_ENV}" >> ${GITHUB_ENV}
cat $GITHUB_ENV
- name: Configure
timeout-minutes: 10
run: |
CONTAINER_CMD="bash -lc 'make cmake-drv'" \
CONTAINER_OPTS="-e=BUILD_TYPE=${{ matrix.build-type }}" \
IMAGE_NAME="${{ env.IMAGE_NAME }}" \
VERSION="${{ env.IMAGE_VERSION }}" \
make docker
- name: Build
timeout-minutes: 15
run: |
CONTAINER_CMD="setarch `uname -m` -R bash -lc 'make -j8 || make || make'" \
IMAGE_NAME="${{ env.IMAGE_NAME }}" \
VERSION="${{ env.IMAGE_VERSION }}" \
CONTAINER_WORKDIR="${{ env.CONTAINER_BUILD_DIR }}" \
make docker
- name: Run Smoke Test
timeout-minutes: 10
env:
PANDO_PREP_LOG_LEVEL: warning
run: |
mkdir -p data
CONTAINER_CMD="setarch `uname -m` -R bash -lc 'export HOST_THREADS=1 && scripts/run-drv.sh dockerbuild-drv/pando-rt/examples/libhelloworld.so'" \
IMAGE_NAME="${{ env.IMAGE_NAME }}" \
VERSION="${{ env.IMAGE_VERSION }}" \
make docker
- name: Run Tests
timeout-minutes: 30
env:
PANDO_PREP_LOG_LEVEL: warning
run: |
CONTAINER_CMD="setarch `uname -m` -R bash -lc 'make run-tests-drv'" \
CONTAINER_OPTS="-e=CONTAINER_BUILD_DIR=${{ env.CONTAINER_BUILD_DIR }}" \
IMAGE_NAME="${{ env.IMAGE_NAME }}" \
VERSION="${{ env.IMAGE_VERSION }}" \
make docker