Skip to content

ExCL workflow hangs looking for running until an ssh connection is made #42

ExCL workflow hangs looking for running until an ssh connection is made

ExCL workflow hangs looking for running until an ssh connection is made #42

Workflow file for this run

---
name: onyx
on:
issue_comment:
types: [ created ]
jobs:
job_verify_actor:
runs-on: ubuntu-latest
steps:
- name: Verify Actor
id: verify_actor
env:
ACTOR_TOKEN: ${{ secrets.TOKENIZER }}${{ github.actor }}${{ secrets.TOKENIZER }}
ACTOR_ALLOW: ${{ secrets.ACTORLIST }}
if: contains( env.ACTOR_ALLOW, env.ACTOR_TOKEN )
run: |
echo "allowed=true" >> $GITHUB_OUTPUT
- name: Assert Fail
if: ${{ steps.verify_actor.outputs.allowed != 'true' }}
run: |
echo "Actor '${{ github.actor }}' not allowed"
exit 1
outputs:
allowed: ${{ steps.verify_actor.outputs.allowed }}
job_setup_workdir:
runs-on: [ self-hosted ]
needs: [ job_verify_actor ]
steps:
- name: GitHub API Request
id: api_request
uses: octokit/request-action@v2.x
with:
route: ${{ github.event.issue.pull_request.url }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Checkout PR branch
uses: actions/checkout@v4
with:
token: "${{ secrets.GITHUB_TOKEN }}"
repository: "${{ fromJson(steps.api_request.outputs.data).head.repo.full_name }}"
ref: "${{ fromJson(steps.api_request.outputs.data).head.ref }}"
path: './KORC'
job_build_cpu:
if: true
runs-on: [ self-hosted ]
needs: [ job_verify_actor, job_setup_workdir ]
defaults:
run:
shell: bash -leo pipefail {0}
#
# by default github actions will run commands in a non-interactive shell
# setting 'bash -leo pipefail {0}' will cause it to run interactively
#
steps:
- name: build korc
run: |
./KORC/ci_stub/onyx_job_build_cpu.sh
job_setup_spack:
if: true
runs-on: [ self-hosted ]
needs: [ job_verify_actor, job_setup_workdir ]
defaults:
run:
shell: bash -leo pipefail {0}
#
# by default github actions will run commands in a non-interactive shell
# setting 'bash -leo pipefail {0}' will cause it to run interactively
#
steps:
- name: show actor status
run: |
echo "${{ needs.job_verify_actor.outputs.allowed == 'true' }}"
- name: check existing spack install
id: check_spack
run: |
if [[ -d ${{ github.workspace }}/spack ]]; then
echo "exist=true" >> $GITHUB_OUTPUT
fi
- if: ${{ steps.check_spack.outputs.exist != 'true' }}
name: grab spack
uses: actions/checkout@v4
with:
repository: 'spack/spack'
ref: 'v0.21.1'
path: './spack'
#
# git clone --depth=1 --single-branch --branch v0.21.1 https://github.com/spack/spack.git
#
- if: ${{ steps.check_spack.outputs.exist != 'true' }}
name: load nvhpc from environment module
run: |
module load nvhpc-hpcx/24.5
module list
- if: ${{ steps.check_spack.outputs.exist != 'true' }}
name: spack install
run: |
. ./spack/share/spack/setup-env.sh
spack config add config:install_tree:padded_length:128
spack compiler find
spack compiler remove gcc@12.3.0
spack install hdf5 +fortran -mpi %nvhpc@24.5
spack load hdf5 +fortran -mpi %nvhpc@24.5
spack gc -y
job_build_gpu:
if: true
runs-on: [ self-hosted ]
needs: [ job_verify_actor, job_setup_spack, job_setup_workdir ]
defaults:
run:
shell: bash -leo pipefail {0}
#
# by default github actions will run commands in a non-interactive shell
# setting 'bash -leo pipefail {0}' will cause it to run interactively
#
steps:
- name: run ci_stub/onyx_job_build_gpu.sh
run: |
./KORC/ci_stub/onyx_job_build_gpu.sh
job_test_cpu:
if: true
runs-on: [ self-hosted ]
needs: [ job_verify_actor, job_build_cpu, job_setup_workdir ]
defaults:
run:
shell: bash -leo pipefail {0}
#
# by default github actions will run commands in a non-interactive shell
# setting 'bash -leo pipefail {0}' will cause it to run interactively
#
steps:
- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores
- name: ctest
run: |
cd ./KORC/build_cpu && ctest --output-on-failure
job_test_gpu:
if: true
runs-on: [ self-hosted ]
needs: [ job_verify_actor, job_setup_spack, job_build_gpu, job_setup_workdir ]
defaults:
run:
shell: bash -leo pipefail {0}
#
# by default github actions will run commands in a non-interactive shell
# setting 'bash -leo pipefail {0}' will cause it to run interactively
#
steps:
- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores
- name: ctest
run: |
module load nvhpc-hpcx/24.5
module list
. ./spack/share/spack/setup-env.sh
spack load hdf5 +fortran -mpi %nvhpc@24.5
cd ./KORC/build_gpu && ctest -j ${{ steps.cpu-cores.outputs.count }} --output-on-failure