Skip to content

Commit

Permalink
Switch from Travis to GitHub Actions (#435)
Browse files Browse the repository at this point in the history
  • Loading branch information
jacobtomlinson committed Jun 2, 2020
1 parent f199cf9 commit 45eaa84
Show file tree
Hide file tree
Showing 9 changed files with 89 additions and 80 deletions.
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'
}

0 comments on commit 45eaa84

Please sign in to comment.