Skip to content

Build Docker images #867

Build Docker images

Build Docker images #867

Workflow file for this run

name: Build Docker images
on:
workflow_dispatch:
schedule:
# Every night at 03:00 UTC
- cron: "0 3 * * *"
push:
branches:
- master
jobs:
check-prerequisites:
runs-on: slurm-${{ matrix.platform }}
strategy:
fail-fast: false
matrix:
platform: ["intel", "nvidia"]
steps:
- uses: actions/checkout@v2
with:
lfs: false
- name: Check whether system is setup correctly for building and running Celerity CI containers
run: bash ./check-prerequisites.sh
build-sycl:
needs: [check-prerequisites]
runs-on: slurm-${{ matrix.platform }}
strategy:
fail-fast: false
matrix:
include:
- sycl: "dpcpp"
sycl-version: "HEAD"
ubuntu-version: "22.04"
platform: "intel"
- sycl: "dpcpp"
sycl-version: "61e51015"
ubuntu-version: "20.04"
platform: "intel"
- sycl: "hipsycl"
sycl-version: "HEAD"
ubuntu-version: "23.04"
platform: "nvidia"
- sycl: "hipsycl"
sycl-version: "d2bd9fc7"
ubuntu-version: "22.04"
platform: "nvidia"
- sycl: "hipsycl"
sycl-version: "d2bd9fc7"
ubuntu-version: "20.04"
platform: "nvidia"
steps:
- uses: actions/checkout@v2
- name: Build Docker container for ${{ matrix.sycl }} ${{ matrix.sycl-version }} on ${{ matrix.ubuntu-version }}
run: bash ./build.sh ${{ matrix.ubuntu-version }} ${{ matrix.sycl }} ${{ matrix.sycl-version }}
if: ${{ github.event_name == 'schedule' }}
- name: Force-build Docker container for ${{ matrix.sycl }} ${{ matrix.sycl-version }} on ${{ matrix.ubuntu-version }}
run: bash ./build.sh -f ${{ matrix.ubuntu-version }} ${{ matrix.sycl }} ${{ matrix.sycl-version }}
if: ${{ github.event_name != 'schedule' }}
build-lint:
needs: [check-prerequisites]
runs-on: slurm-${{ matrix.platform }}
strategy:
fail-fast: false
matrix:
# HACK: We need to ensure the lint container image exists on all runners
platform: ["intel", "nvidia"]
steps:
- uses: actions/checkout@v2
- name: Build Celerity linting container
run: bash ./build-lint.sh