-
-
Notifications
You must be signed in to change notification settings - Fork 2
59 lines (57 loc) · 2.42 KB
/
ci.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
name: Continuous Test
on:
push:
branches:
- 'main'
pull_request: {}
jobs:
test_cpu:
runs-on: ubuntu-latest
environment: continuous_test
container:
image: docker.io/jcfaracco/dasf:cpu_ci
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: |
poetry config virtualenvs.create false
poetry build
# Uninstall any stanza of dasf
pip uninstall dasf -y
# Install requirements
pip install -i https://test.pypi.org/simple/ XPySom-dask
pip install dist/*.whl
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 dasf/ --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 dasf/ --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Run test cases
run: |
pytest tests/
test_gpu:
runs-on: ubuntu-latest
environment: continuous_test
# Skip this test for PRs due to dangerous code submitted.
if: ${{ github.event_name != 'pull_request' }}
steps:
- name: Checkout 🛎
uses: actions/checkout@master
- name: Setup SSH
run: |
mkdir -p ~/.ssh/
echo "${{ secrets.CLUSTER_SSH_PRIV_KEY }}" > ~/.ssh/id_rsa
echo "${{ secrets.CLUSTER_SSH_PUB_KEY }}" > ~/.ssh/id_rsa.pub
chmod 600 ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa.pub
ssh-keyscan -H ${{ secrets.CLUSTER_ADDRESS }} >> ~/.ssh/known_hosts
- name: Test SSH connection
run: |
ssh -T ${{ secrets.CLUSTER_USER }}@${{ secrets.CLUSTER_ADDRESS }} -p 8686 > /dev/null
- name: Pull latest docker image
run: |
ssh ${{ secrets.CLUSTER_USER }}@${{ secrets.CLUSTER_ADDRESS }} -p 8686 "ssh ${{ secrets.CLUSTER_GPU_ID }} \"docker pull jcfaracco/dasf:gpu\""
- name: Run test cases remotely
run: |
ssh ${{ secrets.CLUSTER_USER }}@${{ secrets.CLUSTER_ADDRESS }} -p 8686 "ssh ${{ secrets.CLUSTER_GPU_ID }} \"docker run --rm --gpus all jcfaracco/dasf:gpu sh -c 'pip3 install pytest parameterized pip --upgrade && rm -rf dasf-core && git clone https://github.com/discovery-unicamp/dasf-core.git && cd dasf-core/ && pip3 uninstall dasf -y && pip3 install . && pytest tests/ && cd -'\""