Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 4 additions & 80 deletions .github/workflows/swell-tier1_application_discover.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,7 @@ jobs:
uses: actions/checkout@v3

- name: install-swell
run: |
# Make experiment directory
mkdir /discover/nobackup/gmao_ci/swell/tier1/${GITHUB_RUN_ID}
# Copy and source modules
cp ${GITHUB_WORKSPACE}/src/swell/deployment/platforms/nccs_discover/modules /discover/nobackup/gmao_ci/swell/tier1/${GITHUB_RUN_ID}/
source /discover/nobackup/gmao_ci/swell/tier1/${GITHUB_RUN_ID}/modules
pip install --prefix=/discover/nobackup/gmao_ci/swell/tier1/${GITHUB_RUN_ID}/swell -r ${GITHUB_WORKSPACE}/requirements.txt --no-cache-dir ${GITHUB_WORKSPACE}
# Remove source code (needed to ensure nothing relies on the source)
run: bash scripts/install-swell.sh

# Run ufo_testing workflow
# ------------------------
Expand All @@ -44,30 +37,7 @@ jobs:
steps:

- name: run-swell-ufo_testing
run: |
CI_WORKSPACE=/discover/nobackup/gmao_ci/swell/tier1/${GITHUB_RUN_ID}
SUITE_NAME=ufo_testing
CI_WORKSPACE_JOB=/discover/nobackup/gmao_ci/swell/tier1/${GITHUB_RUN_ID}/${SUITE_NAME}
EXPERIMENT_ID=swell-${SUITE_NAME}-${GITHUB_RUN_ID}

mkdir -p $CI_WORKSPACE_JOB

source /discover/nobackup/gmao_ci/swell/tier1/${GITHUB_RUN_ID}/modules

# Get python version
PYVER=`python --version | awk '{print $2}' | awk -F. '{print $1"."$2}'`

export PATH=$CI_WORKSPACE/swell/bin:$PATH
export PYTHONPATH=${PYTHONPATH}:$CI_WORKSPACE/swell/lib/python$PYVER/site-packages

echo "experiment_id: $EXPERIMENT_ID" > $CI_WORKSPACE_JOB/${SUITE_NAME}-override.yaml
echo "experiment_root: $CI_WORKSPACE_JOB" >> $CI_WORKSPACE_JOB/${SUITE_NAME}-override.yaml

rm -r -f $HOME/cylc-run/${EXPERIMENT_ID}-suite

cd $CI_WORKSPACE_JOB
swell create ${SUITE_NAME} -m defaults -p nccs_discover -o $CI_WORKSPACE_JOB/${SUITE_NAME}-override.yaml
swell launch $CI_WORKSPACE_JOB/${EXPERIMENT_ID}/${EXPERIMENT_ID}-suite --no-detach --log_path $CI_WORKSPACE_JOB/${EXPERIMENT_ID}
run: bash scripts/run-swell-suite.sh ufo_testing

# Move experiment directory on failure
swell-tier_1-ufo_testing-failure:
Expand Down Expand Up @@ -96,30 +66,7 @@ jobs:
steps:

- name: run-swell-hofx
run: |
CI_WORKSPACE=/discover/nobackup/gmao_ci/swell/tier1/${GITHUB_RUN_ID}
SUITE_NAME=hofx
CI_WORKSPACE_JOB=/discover/nobackup/gmao_ci/swell/tier1/${GITHUB_RUN_ID}/${SUITE_NAME}
EXPERIMENT_ID=swell-${SUITE_NAME}-${GITHUB_RUN_ID}

mkdir -p $CI_WORKSPACE_JOB

source /discover/nobackup/gmao_ci/swell/tier1/${GITHUB_RUN_ID}/modules

# Get python version
PYVER=`python --version | awk '{print $2}' | awk -F. '{print $1"."$2}'`

export PATH=$CI_WORKSPACE/swell/bin:$PATH
export PYTHONPATH=${PYTHONPATH}:$CI_WORKSPACE/swell/lib/python$PYVER/site-packages

echo "experiment_id: $EXPERIMENT_ID" > $CI_WORKSPACE_JOB/${SUITE_NAME}-override.yaml
echo "experiment_root: $CI_WORKSPACE_JOB" >> $CI_WORKSPACE_JOB/${SUITE_NAME}-override.yaml

rm -r -f $HOME/cylc-run/${EXPERIMENT_ID}-suite

cd $CI_WORKSPACE_JOB
swell create ${SUITE_NAME} -m defaults -p nccs_discover -o $CI_WORKSPACE_JOB/${SUITE_NAME}-override.yaml
swell launch $CI_WORKSPACE_JOB/${EXPERIMENT_ID}/${EXPERIMENT_ID}-suite --no-detach --log_path $CI_WORKSPACE_JOB/${EXPERIMENT_ID}
run: scripts/run-swell-suite.sh hofx

# Move experiment directory on failure
swell-tier_1-hofx-failure:
Expand Down Expand Up @@ -147,30 +94,7 @@ jobs:
steps:

- name: run-swell-3dvar
run: |
CI_WORKSPACE=/discover/nobackup/gmao_ci/swell/tier1/${GITHUB_RUN_ID}
SUITE_NAME=3dvar
CI_WORKSPACE_JOB=/discover/nobackup/gmao_ci/swell/tier1/${GITHUB_RUN_ID}/${SUITE_NAME}
EXPERIMENT_ID=swell-${SUITE_NAME}-${GITHUB_RUN_ID}

mkdir -p $CI_WORKSPACE_JOB

source /discover/nobackup/gmao_ci/swell/tier1/${GITHUB_RUN_ID}/modules

# Get python version
PYVER=`python --version | awk '{print $2}' | awk -F. '{print $1"."$2}'`

export PATH=$CI_WORKSPACE/swell/bin:$PATH
export PYTHONPATH=${PYTHONPATH}:$CI_WORKSPACE/swell/lib/python$PYVER/site-packages

echo "experiment_id: $EXPERIMENT_ID" > $CI_WORKSPACE_JOB/${SUITE_NAME}-override.yaml
echo "experiment_root: $CI_WORKSPACE_JOB" >> $CI_WORKSPACE_JOB/${SUITE_NAME}-override.yaml

rm -r -f $HOME/cylc-run/${EXPERIMENT_ID}-suite

cd $CI_WORKSPACE_JOB
swell create ${SUITE_NAME} -m defaults -p nccs_discover -o $CI_WORKSPACE_JOB/${SUITE_NAME}-override.yaml
swell launch $CI_WORKSPACE_JOB/${EXPERIMENT_ID}/${EXPERIMENT_ID}-suite --no-detach --log_path $CI_WORKSPACE_JOB/${EXPERIMENT_ID}
run: bash scripts/run-swell-suite.sh 3dvar

# Move experiment directory on failure
swell-tier_1-3dvar-failure:
Expand Down
16 changes: 16 additions & 0 deletions scripts/install-swell.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/usr/bin/env bash

set -euxo pipefail

source scripts/utils.sh
github_variables

# Make experiment directory
mkdir /discover/nobackup/gmao_ci/swell/tier1/${GITHUB_RUN_ID}

# Copy and source modules
cp ${GITHUB_WORKSPACE}/src/swell/deployment/platforms/nccs_discover/modules /discover/nobackup/gmao_ci/swell/tier1/${GITHUB_RUN_ID}/
source /discover/nobackup/gmao_ci/swell/tier1/${GITHUB_RUN_ID}/modules
pip install --prefix=/discover/nobackup/gmao_ci/swell/tier1/${GITHUB_RUN_ID}/swell -r ${GITHUB_WORKSPACE}/requirements.txt --no-cache-dir ${GITHUB_WORKSPACE}

# Remove source code (needed to ensure nothing relies on the source)
44 changes: 44 additions & 0 deletions scripts/run-swell-suite.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#!/usr/bin/env bash

set -euxo pipefail

SUITE_NAME="$1"

if [[ -z "$SUITE_NAME" ]]; then
echo "Variable SUITE_NAME is unset."
exit 1
fi

source scripts/utils.sh
github_variables

CI_WORKSPACE=/discover/nobackup/gmao_ci/swell/tier1/${GITHUB_RUN_ID}
CI_WORKSPACE_JOB=/discover/nobackup/gmao_ci/swell/tier1/${GITHUB_RUN_ID}/${SUITE_NAME}
EXPERIMENT_ID=swell-${SUITE_NAME}-${GITHUB_RUN_ID}

echo "----------------------------------------"
echo "CI_WORKSPACE=${CI_WORKSPACE}"
echo "CI_WORKSPACE_JOB=${CI_WORKSPACE}"
echo "EXPERIMENT_ID=${CI_WORKSPACE}"
echo "----------------------------------------"

mkdir -p $CI_WORKSPACE_JOB

source /discover/nobackup/gmao_ci/swell/tier1/${GITHUB_RUN_ID}/modules

# Get python version
PYVER=`python --version | awk '{print $2}' | awk -F. '{print $1"."$2}'`

export PATH=$CI_WORKSPACE/swell/bin:$PATH
export PYTHONPATH=${PYTHONPATH}:$CI_WORKSPACE/swell/lib/python$PYVER/site-packages

echo "PYTHONPATH=${PYTHONPATH}"

echo "experiment_id: $EXPERIMENT_ID" > $CI_WORKSPACE_JOB/${SUITE_NAME}-override.yaml
echo "experiment_root: $CI_WORKSPACE_JOB" >> $CI_WORKSPACE_JOB/${SUITE_NAME}-override.yaml

rm -r -f $HOME/cylc-run/${EXPERIMENT_ID}-suite

cd $CI_WORKSPACE_JOB
swell create ${SUITE_NAME} -m defaults -p nccs_discover -o $CI_WORKSPACE_JOB/${SUITE_NAME}-override.yaml
swell launch $CI_WORKSPACE_JOB/${EXPERIMENT_ID}/${EXPERIMENT_ID}-suite --no-detach --log_path $CI_WORKSPACE_JOB/${EXPERIMENT_ID}
18 changes: 18 additions & 0 deletions scripts/utils.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/usr/bin/env bash

github_run_id() {
# Set default value to `LOCAL_$(uuidgen) if unset`
: "${GITHUB_RUN_ID:=LOCAL_$RANDOM}"
export GITHUB_RUN_ID
}

github_workspace() {
# Set default value to current working directory
: "${GITHUB_WORKSPACE:=$PWD}"
export GITHUB_WORKSPACE
}

github_variables() {
github_run_id
github_workspace
}