Skip to content

Remove broken caching and use workaround for broken pip install #88

Remove broken caching and use workaround for broken pip install

Remove broken caching and use workaround for broken pip install #88

Workflow file for this run

name: ExascaleSandboxTests
on:
push:
branches: [ develop, main ]
pull_request:
branches: [ develop, main ]
workflow_dispatch:
jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Checkout repository
uses: actions/checkout@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
-
name: Login to GHCR
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
-
name: Update to avoid docker compose V2 bug
run: |
sudo apt-get update && sudo apt-get upgrade
-
name: Start Slurm cluster containers
run: |
cd docker
export DOCKER_CLIENT_TIMEOUT=600
export COMPOSE_HTTP_TIMEOUT=600
docker compose -f docker-compose.yml up --build -d
-
name: Create ssh keys in cluster
run: |
docker exec frontend ssh-keygen -t rsa -f /home/admin/.ssh/id_rsa -N ""
docker exec frontend cp /home/admin/.ssh/id_rsa.pub /home/admin/.ssh/authorized_keys
-
name: Copy test scripts to work directory
run: |
docker exec frontend bash -l -c "mkdir -p work; cd work ; cp ../test/*.py . ; cp ../test/*.f90 ."
-
name: Fix the flux install # This is a workaround to deal with bugs caused by spack/pip conflicts
run: |
docker exec frontend bash -l -c "spack env activate flux; cd /tmp/install; ./install_flux.sh"
-
name: Parsl hello test
run: |
docker exec frontend bash -l -c "spack env activate flux; cd work ; ./parsl_hello.py"
-
name: Parsl/Flux hello MPI test
run: |
docker exec frontend bash -l -c "spack env activate flux; cd work ; ./parsl_mpi_flux_hello.py"
docker exec frontend bash -l -c "cat work/resource_list.txt"
docker exec frontend bash -l -c "cat work/mpi_apps.hello.out"
-
name: Debug session
if: ${{ failure() }}
uses: mxschmitt/action-tmate@v3
timeout-minutes: 60
with:
limit-access-to-actor: true
-
name: Shut down Slurm cluster containers
run: |
cd docker
export DOCKER_CLIENT_TIMEOUT=600
export COMPOSE_HTTP_TIMEOUT=600
docker-compose -f docker-compose.yml down
-
name: Push containers
run: |
docker push ghcr.io/noaa-gsl/exascaleworkflowsandbox/frontend:latest
docker push ghcr.io/noaa-gsl/exascaleworkflowsandbox/master:latest
docker push ghcr.io/noaa-gsl/exascaleworkflowsandbox/node:latest