Move container build to github actions. Update payu again #50
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and test conda env | |
on: pull_request | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
container: | |
image: quay.io/singularity/singularity:v3.11.4 | |
options: --privileged | |
steps: | |
- name: Checkout repository | |
### Latest at time of writing | |
uses: actions/checkout@v3.3.0 | |
- name: Check if container definition has changed | |
id: changed-container-def | |
uses: tj-actions/changed-files@v37 | |
with: | |
files_yaml: | | |
containerdef: | |
- container/container.def | |
- name: Build container if definition has changed | |
if: steps.changed-container-def.outputs.containerdef_any_changed == 'true' | |
run: | | |
pushd container | |
sudo -E singularity build base.sif container.def | |
popd | |
- name: Sync repository to Gadi | |
### Latest at time of writing | |
uses: up9cloud/action-rsync@v1.3 | |
env: | |
HOST: gadi.nci.org.au | |
TARGET: ${{secrets.GADI_REPO_PATH}} | |
KEY: ${{secrets.DEPLOY_KEY}} | |
USER: ${{secrets.GADI_USER}} | |
- name: Create Admin dirs on Gadi | |
uses: appleboy/ssh-action@v0.1.7 | |
with: | |
host: gadi.nci.org.au | |
username: ${{secrets.GADI_USER}} | |
key: ${{secrets.DEPLOY_KEY}} | |
script: | | |
source ${{secrets.GADI_REPO_PATH}}/scripts/install_config.sh | |
source ${{secrets.GADI_REPO_PATH}}/scripts/functions.sh | |
mkdir -p $ADMIN_DIR $JOB_LOG_DIR $BUILD_STAGE_DIR | |
set_admin_perms $ADMIN_DIR $JOB_LOG_DIR $BUILD_STAGE_DIR | |
- name: Build environment | |
uses: appleboy/ssh-action@v0.1.7 | |
with: | |
host: gadi.nci.org.au | |
username: ${{secrets.GADI_USER}} | |
key: ${{secrets.DEPLOY_KEY}} | |
command_timeout: 120m | |
script: | | |
export SCRIPT_DIR=${{secrets.GADI_REPO_PATH}}/scripts | |
eval $( grep ADMIN_DIR $SCRIPT_DIR/install_config.sh ) | |
eval $( grep JOB_LOG_DIR $SCRIPT_DIR/install_config.sh ) | |
cd $JOB_LOG_DIR | |
qsub -N build_conda -lncpus=1,mem=20GB,walltime=2:00:00,jobfs=50GB,storage=gdata/v45+scratch/v45+gdata/hh5+scratch/hh5 -v SCRIPT_DIR -P kr06 -q copyq -Wblock=true -Wumask=037 "${SCRIPT_DIR}"/build.sh | |
test: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Test environment | |
uses: appleboy/ssh-action@v0.1.7 | |
with: | |
host: gadi.nci.org.au | |
username: ${{secrets.GADI_USER}} | |
key: ${{secrets.DEPLOY_KEY}} | |
script: | | |
export SCRIPT_DIR=${{secrets.GADI_REPO_PATH}}/scripts | |
eval $( grep ADMIN_DIR $SCRIPT_DIR/install_config.sh ) | |
eval $( grep JOB_LOG_DIR $SCRIPT_DIR/install_config.sh ) | |
cd $JOB_LOG_DIR | |
qsub -N test_conda -lncpus=4,mem=20GB,walltime=0:20:00,jobfs=50GB,storage=gdata/v45+scratch/v45+gdata/hh5+scratch/hh5 -v SCRIPT_DIR -P kr06 -Wblock=true -Wumask=037 "${SCRIPT_DIR}"/test.sh |