forked from allenai/allennlp
-
Notifications
You must be signed in to change notification settings - Fork 0
159 lines (127 loc) · 3.68 KB
/
pull_request.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
name: PR
on:
pull_request:
branches:
- master
jobs:
changelog:
name: CHANGELOG
runs-on: ubuntu-latest
steps:
# Note that checkout@v2 will not work with the git command below!
- uses: actions/checkout@v1
- name: Debugging info
run: |
git remote -v
- name: Check that CHANGELOG has been updated
run: |
# If this step fails, this means you haven't updated the CHANGELOG.md
# file with notes on your contribution.
git diff --name-only $(git merge-base origin/master HEAD) | grep '^CHANGELOG.md$' && echo "Thanks for helping keep our CHANGELOG up-to-date!"
gpu_checks:
name: GPU Checks
runs-on: [self-hosted, GPU]
steps:
- uses: actions/checkout@v2
- name: Set Docker tag
run: |
echo "::set-env name=DOCKER_TAG::$GITHUB_SHA";
- name: Build test image
run: |
make docker-test-image DOCKER_TAG=$DOCKER_TAG
- name: Run GPU tests
run: |
make docker-test-run DOCKER_TAG=$DOCKER_TAG ARGS='gpu-test'
check_core:
name: Check Core
runs-on: ubuntu-latest
strategy:
matrix:
python: ['3.6', '3.7']
steps:
- uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python }}
- uses: actions/cache@v2
with:
path: ${{ env.pythonLocation }}
key: ${{ runner.os }}-pydeps-${{ env.pythonLocation }}-${{ hashFiles('setup.py') }}-${{ hashFiles('dev-requirements.txt') }}
- name: Install requirements
run: |
make install
- name: Debug info
run: |
pip freeze
- name: Format
if: always()
run: |
make format
- name: Lint
if: always()
run: |
make lint
- name: Type check
if: always()
run: |
make typecheck
- name: Run tests
if: always()
run: |
make test-with-cov
- name: Ensure docs can build
if: always()
run: |
make build-docs
- name: Upload coverage to Codecov
if: matrix.python == '3.7' && github.repository == 'allenai/allennlp'
uses: codecov/codecov-action@v1
with:
file: ./coverage.xml
# Ignore codecov failures as the codecov server is not
# very reliable but we don't want to report a failure
# in the github UI just because the coverage report failed to
# be published.
fail_ci_if_error: false
- name: Clean up
if: always()
run: |
pip uninstall --yes allennlp
check_models:
name: Check Models
runs-on: ubuntu-latest
strategy:
matrix:
python: ['3.6', '3.7']
steps:
- uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python }}
- uses: actions/cache@v2
with:
path: ${{ env.pythonLocation }}
key: ${{ runner.os }}-pydeps-${{ env.pythonLocation }}-${{ hashFiles('setup.py') }}-${{ hashFiles('dev-requirements.txt') }}
- name: Install requirements
run: |
make install
- name: Debug info
run: |
pip freeze
- name: Pull and install models repo
env:
ALLENNLP_VERSION_OVERRIDE: "" # Don't replace the core library.
run: |
git clone https://github.com/allenai/allennlp-models.git
cd allennlp-models
pip install --upgrade --upgrade-strategy eager -e . -r dev-requirements.txt
- name: Run models tests
run: |
cd allennlp-models && make test
- name: Clean up
if: always()
run: |
pip uninstall --yes allennlp
pip uninstall --yes allennlp_models