Skip to content
Merged
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
48 changes: 48 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: CI

on: [push, pull_request]

jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
jobqueue: ["htcondor", "pbs", "sge", "slurm", "none"]

steps:
- name: Checkout source
uses: actions/checkout@v2

- name: Setup Conda Environment
uses: goanpeca/setup-miniconda@v1
with:
miniconda-version: "latest"
python-version: 3.6
environment-file: ci/environment.yml
activate-environment: dask-jobqueue
auto-activate-base: false

- name: Setup
shell: bash -l {0}
run: |
source ci/${{ matrix.jobqueue }}.sh
jobqueue_before_install

- name: Install
shell: bash -l {0}
run: |
source ci/${{ matrix.jobqueue }}.sh
jobqueue_install

- name: Test
shell: bash -l {0}
run: |
source ci/${{ matrix.jobqueue }}.sh
jobqueue_script

- name: Cleanup
shell: bash -l {0}
run: |
source ci/${{ matrix.jobqueue }}.sh
jobqueue_after_script
48 changes: 0 additions & 48 deletions .travis.yml

This file was deleted.

12 changes: 12 additions & 0 deletions ci/environment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: dask-jobqueue
channels:
- conda-forge
- defaults
dependencies:
- python=3.6
- dask
- distributed
- flake8
- black
- pytest
- pytest-asyncio
5 changes: 1 addition & 4 deletions ci/none.sh
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
#!/usr/bin/env bash

function jobqueue_before_install {
# Install miniconda
./ci/conda_setup.sh
export PATH="$HOME/miniconda/bin:$PATH"
conda install --yes -c conda-forge python=$TRAVIS_PYTHON_VERSION dask distributed flake8 black pytest pytest-asyncio
true # Pass
}

function jobqueue_install {
Expand Down
30 changes: 15 additions & 15 deletions ci/pbs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,30 +10,30 @@ function jobqueue_before_install {
./start-pbs.sh
cd -

docker exec -it -u pbsuser pbs_master pbsnodes -a
docker exec -u pbsuser pbs_master pbsnodes -a
docker ps -a
docker images
}

function jobqueue_install {
docker exec -it pbs_master /bin/bash -c "cd /dask-jobqueue; pip install -e ."
docker exec pbs_master /bin/bash -c "cd /dask-jobqueue; pip install -e ."
}

function jobqueue_script {
docker exec -it -u pbsuser pbs_master /bin/bash -c "cd; pytest /dask-jobqueue/dask_jobqueue --verbose -s -E pbs"
docker exec -u pbsuser pbs_master /bin/bash -c "cd; pytest /dask-jobqueue/dask_jobqueue --verbose -s -E pbs"
}

function jobqueue_after_script {
docker exec -it -u pbsuser pbs_master qstat -fx
docker exec -it pbs_master bash -c 'cat /var/spool/pbs/sched_logs/*'
docker exec -it pbs_master bash -c 'cat /var/spool/pbs/server_logs/*'
docker exec -it pbs_master bash -c 'cat /var/spool/pbs/server_priv/accounting/*'
docker exec -it pbs_slave_1 bash -c 'cat /var/spool/pbs/mom_logs/*'
docker exec -it pbs_slave_1 bash -c 'cat /var/spool/pbs/spool/*'
docker exec -it pbs_slave_1 bash -c 'cat /tmp/*.e*'
docker exec -it pbs_slave_1 bash -c 'cat /tmp/*.o*'
docker exec -it pbs_slave_2 bash -c 'cat /var/spool/pbs/mom_logs/*'
docker exec -it pbs_slave_2 bash -c 'cat /var/spool/pbs/spool/*'
docker exec -it pbs_slave_2 bash -c 'cat /tmp/*.e*'
docker exec -it pbs_slave_2 bash -c 'cat /tmp/*.o*'
docker exec -u pbsuser pbs_master qstat -fx
docker exec pbs_master bash -c 'cat /var/spool/pbs/sched_logs/*|| true'
docker exec pbs_master bash -c 'cat /var/spool/pbs/server_logs/*|| true'
docker exec pbs_master bash -c 'cat /var/spool/pbs/server_priv/accounting/*|| true'
docker exec pbs_slave_1 bash -c 'cat /var/spool/pbs/mom_logs/*|| true'
docker exec pbs_slave_1 bash -c 'cat /var/spool/pbs/spool/*|| true'
docker exec pbs_slave_1 bash -c 'cat /tmp/*.e*|| true'
docker exec pbs_slave_1 bash -c 'cat /tmp/*.o*|| true'
docker exec pbs_slave_2 bash -c 'cat /var/spool/pbs/mom_logs/*|| true'
docker exec pbs_slave_2 bash -c 'cat /var/spool/pbs/spool/*|| true'
docker exec pbs_slave_2 bash -c 'cat /tmp/*.e*|| true'
docker exec pbs_slave_2 bash -c 'cat /tmp/*.o*|| true'
}
2 changes: 1 addition & 1 deletion ci/pbs/start-pbs.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

docker-compose up -d
while [ `docker exec -it -u pbsuser pbs_master pbsnodes -a | grep "Mom = pbs_slave" | wc -l` -ne 2 ]
while [ `docker exec -u pbsuser pbs_master pbsnodes -a | grep "Mom = pbs_slave" | wc -l` -ne 2 ]
do
echo "Waiting for PBS slave nodes to become available";
sleep 2
Expand Down
10 changes: 5 additions & 5 deletions ci/sge.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@ function jobqueue_before_install {
}

function jobqueue_install {
docker exec -it sge_master /bin/bash -c "cd /dask-jobqueue; pip install -e ."
docker exec sge_master /bin/bash -c "cd /dask-jobqueue; pip install -e ."
}

function jobqueue_script {
docker exec -it sge_master /bin/bash -c "cd /dask-jobqueue; pytest dask_jobqueue --verbose -s -E sge"
docker exec sge_master /bin/bash -c "cd /dask-jobqueue; pytest dask_jobqueue --verbose -s -E sge"
}

function jobqueue_after_script {
docker exec -it sge_master bash -c 'cat /tmp/sge*'
docker exec -it slave_one bash -c 'cat /tmp/exec*'
docker exec -it slave_two bash -c 'cat /tmp/exec*'
docker exec sge_master bash -c 'cat /tmp/sge*'
docker exec slave_one bash -c 'cat /tmp/exec*'
docker exec slave_two bash -c 'cat /tmp/exec*'
}
2 changes: 1 addition & 1 deletion ci/sge/start-sge.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

docker-compose up -d
while [ `docker exec -it sge_master qhost | grep lx26-amd64 | wc -l` -ne 2 ]
while [ `docker exec sge_master qhost | grep lx26-amd64 | wc -l` -ne 2 ]
do
echo "Waiting for SGE slots to become available";
sleep 1
Expand Down
12 changes: 6 additions & 6 deletions ci/slurm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,21 +19,21 @@ function show_network_interfaces {
for c in slurmctld c1 c2; do
echo '------------------------------------------------------------'
echo docker container: $c
docker exec -it $c python -c 'import psutil; print(psutil.net_if_addrs().keys())'
docker exec $c python -c 'import psutil; print(psutil.net_if_addrs().keys())'
echo '------------------------------------------------------------'
done
}

function jobqueue_install {
docker exec -it slurmctld /bin/bash -c "cd /dask-jobqueue; pip install -e ."
docker exec slurmctld /bin/bash -c "cd /dask-jobqueue; pip install -e ."
}

function jobqueue_script {
docker exec -it slurmctld /bin/bash -c "pytest /dask-jobqueue/dask_jobqueue --verbose -E slurm -s"
docker exec slurmctld /bin/bash -c "pytest /dask-jobqueue/dask_jobqueue --verbose -E slurm -s"
}

function jobqueue_after_script {
docker exec -it slurmctld bash -c 'sinfo'
docker exec -it slurmctld bash -c 'squeue'
docker exec -it slurmctld bash -c 'sacct -l'
docker exec slurmctld bash -c 'sinfo'
docker exec slurmctld bash -c 'squeue'
docker exec slurmctld bash -c 'sacct -l'
}