forked from microsoft/DeepGNN
-
Notifications
You must be signed in to change notification settings - Fork 0
163 lines (161 loc) · 5.34 KB
/
ci.yml
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
name: CI
on:
push:
branches:
- main
pull_request:
types: [opened, reopened, synchronize]
workflow_dispatch:
jobs:
pre-commit:
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10"]
os: ["ubuntu-22.04", "macos-11", "windows-2019"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/[email protected]
- name: Set up Python ${{ matrix.python-version }}
uses: actions/[email protected]
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Run lint
uses: ./.github/actions/lint
tests:
needs: pre-commit
strategy:
matrix:
python-version: ["3.10"]
os: ["ubuntu-22.04", "macos-11", "windows-2019"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/[email protected]
- name: Set up Python ${{ matrix.python-version }}
uses: actions/[email protected]
with:
python-version: ${{ matrix.python-version }}
- name: Run tests
uses: ./.github/actions/test
with:
disk_cache: test-${{ matrix.os }}-${{ matrix.python-version }}
benchmarks:
needs: tests
runs-on: "ubuntu-22.04"
steps:
- uses: actions/[email protected]
- name: Run benchmarks
uses: ./.github/actions/benchmarks
with:
disk_cache: benchmark-${{ matrix.os }}
wheel:
runs-on: ubuntu-22.04
needs: tests
steps:
- uses: actions/[email protected]
- name: Set up Python 3.10
uses: actions/[email protected]
with:
python-version: "3.10"
- name: Upload examples
uses: actions/[email protected]
with:
name: examples
path: examples/*
- name: build wheel
uses: ./.github/actions/wheel
with:
package_version: "0.1.1"
- name: Upload wheel file
uses: actions/[email protected]
with:
name: deepgnn
path: src/python/dist/*.whl
tf_examples:
needs: wheel
strategy:
matrix:
python-version: ["3.10"]
os: ["ubuntu-22.04"]
runs-on: ${{ matrix.os }}
env:
HOROVOD_WITH_GLOO: 1
HOROVOD_WITHOUT_MPI: 1
HOROVOD_WITH_TENSORFLOW: 1
HOROVOD_WITHOUT_PYTORCH: 1
HOROVOD_WITHOUT_MXNET: 1
steps:
- name: Download wheels
uses: actions/[email protected]
with:
name: deepgnn
- name: Download examples
uses: actions/[email protected]
with:
name: examples
- name: Set up Python ${{ matrix.python-version }}
uses: actions/[email protected]
with:
python-version: ${{ matrix.python-version }}
- name: Install tensorflow
run: pip install --timeout 300 tensorflow
- name: Install dependencies
run: pip install --timeout 300 -r tensorflow/requirements.txt
- name: Check horovod features
run: horovodrun --check-build
- name: Uninstall cached deepgnn packages
run: pip uninstall deepgnn-ge deepgnn-tf
- name: Install wheels
run: pip install deepgnn_ge*.whl deepgnn_tf*.whl
- name: Run graphsage examples
run: cd ./tensorflow/sage/ && sudo chmod +x *.sh && bash ./run.sh CPU && bash ./run.sh CPU disk yes
- name: Run gcn examples
run: cd ./tensorflow/gcn/ && sudo chmod +x *.sh && bash ./run.sh CPU cleanup
- name: Run han examples
run: cd ./tensorflow/han/ && sudo chmod +x *.sh && bash ./run.sh CPU cleanup
- name: Run gat examples
run: cd ./tensorflow/gat/ && sudo chmod +x *.sh && bash ./run.sh CPU cleanup
torch_examples:
needs: wheel
strategy:
matrix:
python-version: ["3.10"]
os: ["ubuntu-22.04"]
runs-on: ${{ matrix.os }}
env:
HOROVOD_WITH_GLOO: 1
HOROVOD_WITHOUT_MPI: 1
HOROVOD_WITHOUT_TENSORFLOW: 1
HOROVOD_WITH_PYTORCH: 1
HOROVOD_WITHOUT_MXNET: 1
steps:
- name: Download wheels
uses: actions/[email protected]
with:
name: deepgnn
- name: Download examples
uses: actions/[email protected]
with:
name: examples
- name: Set up Python ${{ matrix.python-version }}
uses: actions/[email protected]
with:
python-version: ${{ matrix.python-version }}
- name: Install torch
run: pip install --timeout 300 torch
- name: Install dependencies
run: pip install --timeout 300 -r pytorch/requirements.txt
- name: Uninstall cached deepgnn packages
run: pip uninstall deepgnn-ge deepgnn-torch
- name: Install wheels
run: pip install deepgnn_ge*.whl deepgnn_torch*.whl
- name: Run gat examples
run: cd ./pytorch/gat/ && sudo chmod +x *.sh && bash ./run.sh CPU
- name: Run pytorch geometric examples
run: cd ./pytorch/geometric/gat/ && sudo chmod +x *.sh && bash ./run.sh CPU
- name: Run graphsage supervised examples
run: cd ./pytorch/graphsage/ && sudo chmod +x *.sh && bash ./run.sh supervised no CPU && bash ./run.sh supervised no CPU disk yes
- name: Run graphsage unsupervised examples
run: cd ./pytorch/graphsage/ && sudo chmod +x *.sh && bash ./run.sh unsupervised no CPU
- name: Run hetgnn examples
run: cd ./pytorch/hetgnn/ && sudo chmod +x *.sh && bash ./run.sh CPU