-
Notifications
You must be signed in to change notification settings - Fork 11
130 lines (109 loc) · 3.63 KB
/
Copy pathci.yml
File metadata and controls
130 lines (109 loc) · 3.63 KB
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
name: "CI"
on:
push:
branches:
- "master"
pull_request:
jobs:
python3-syntax:
runs-on: "${{ matrix.os }}"
strategy:
fail-fast: false
matrix:
os:
- "ubuntu-latest"
python-version:
- "3.9"
steps:
- name: "Check out sources"
uses: "actions/checkout@v2"
- name: "Set up Python ${{ matrix.python-version }}"
uses: "actions/setup-python@v1"
with:
python-version: "${{ matrix.python-version }}"
- name: "Check Python3 Syntax"
run: |
python3 -m compileall .
documentation:
runs-on: "${{ matrix.os }}"
strategy:
fail-fast: false
matrix:
os:
- "ubuntu-latest"
python-version:
- "2.7"
steps:
- name: "Check out sources"
uses: "actions/checkout@v2"
- name: "Set up Python ${{ matrix.python-version }}"
uses: "actions/setup-python@v1"
with:
python-version: "${{ matrix.python-version }}"
- name: "Install Python packages"
run: |
pip install --upgrade pip setuptools
pip install .[doc]
pip list
- name: "Build Documentation"
run: |
make --directory=doc html
- name: "Upload Documentation"
uses: "actions/upload-artifact@v2"
with:
name: "documentation"
path: "doc/"
unit-tests:
runs-on: "${{ matrix.os }}"
strategy:
fail-fast: false
matrix:
os:
- "ubuntu-latest"
python-version:
- "2.7"
steps:
- name: "Check out sources"
uses: "actions/checkout@v2"
- name: "Set up Python ${{ matrix.python-version }}"
uses: "actions/setup-python@v1"
with:
python-version: "${{ matrix.python-version }}"
- name: "Install Imaginary and dependencies"
run: |
pip install --upgrade pip setuptools coverage
pip install .
- name: "Dump Environment Info"
uses: "twisted/python-info-action@v1.0.1"
- name: "Run Imaginary Tests"
run: |
python -m coverage run -m twisted.trial imaginary
# Combine the Imaginary coverage results in a .coverage data file.
# Like the `coverage run` above, use the default .coveragerc.
coverage combine
- name: "Install ExampleGame and dependencies"
run: |
pip install ./ExampleGame
- name: "Dump Environment Info"
uses: "twisted/python-info-action@v1.0.1"
- name: "Run ExampleGame Tests"
run: |
python -m coverage run --rcfile .coveragerc-examplegame -m twisted.trial examplegame
# Combine the ExampleGame coverage results into the existing
# .coverage data file. Make sure to use the ExampleGame .coveragerc
# so paths are resolved correctly.
coverage combine --rcfile .coveragerc-examplegame --append
- name: "Upload Coverage Results"
run: |
# For fun, I guess, dump a text report to CI output. These aren't
# too much fun to read but perhaps it's useful sometimes if the CI
# reporting service is misbehaving.
#
# --ignore-errors is required here because the path resolution can't
# figure out the right place to find Twisted dropin source files.
# Without --ignore-errors the report fails when it fails to read
# these sources.
coverage report --show-missing --ignore-errors
# Okay actually upload it.
pip install coveralls
COVERALLS_REPO_TOKEN=1oyBvUgwFpx0lZfqAXiqM8LPmgKk2Y7OL coveralls