Skip to content

Singularity container support for run script #18

Singularity container support for run script

Singularity container support for run script #18

name: SingularityQuicktest
on:
pull_request:
branches: [ dev ]
push:
branches: [ dev ]
jobs:
build_and_test:
name: Build and test Singularity container
runs-on: ubuntu-22.04
steps:
- name: Maximize build space
uses: easimon/maximize-build-space@master
with:
root-reserve-mb: '28000'
swap-size-mb: '128'
remove-docker-images: 'true'
remove-android: 'true'
remove-haskell: 'true'
remove-codeql: 'true'
remove-dotnet: 'true'
- name: Checkout
uses: actions/checkout@v3
with:
path: finn
- name: Set up Docker
uses: docker/setup-buildx-action@v2
with:
driver: docker
- name: Set up Singularity
run: |
sudo add-apt-repository -y ppa:apptainer/ppa
sudo apt update
sudo apt install -y apptainer
alias singularity="apptainer"
- name: Build Docker image
uses: docker/build-push-action@v4
with:
file: docker/Dockerfile.finn
context: finn
load: true
no-cache: true
tags: finn_docker_export:latest
- name: Check free space
run: df -h
- name: Clean Docker build cache
run: echo 'y' | docker builder prune
- name: Check free space
run: df -h
- name: Check environment
run: |
echo $PWD
echo $HOME
echo $APPTAINER_TMPDIR
echo $TMPDIR
- name: Build Singularity image
run: |
mkdir $PWD/singularity_tmp
export APPTAINER_TMPDIR=$PWD/singularity_tmp
singularity build finn/finn_singularity_image.sif docker-daemon://finn_docker_export:latest
continue-on-error: true
- name: Check free space
run: df -h
- name: Run quicktest
run: |
cd finn
export APPTAINER_TMPDIR=$PWD/singularity_tmp
export FINN_SINGULARITY=finn_singularity_image.sif
./run-docker.sh quicktest
- name: Check free space
run: df -h