-
Notifications
You must be signed in to change notification settings - Fork 4
143 lines (126 loc) · 3.6 KB
/
python-package.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
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
name: Python package
on: [push, pull_request]
jobs:
generate-code:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install dependencies
run: |
pip install -r dev-requirements.txt
- name: generate code
run: |
make rebrickable/api
- name: scm_version
run: |
python -m setuptools_scm
- name: Upload generated code
uses: actions/upload-artifact@v1
with:
name: code
path: rebrickable/api
test:
needs: generate-code
runs-on: ubuntu-latest
strategy:
max-parallel: 4
matrix:
python-version: [3.5, 3.6, 3.7]
steps:
- uses: actions/checkout@v1
- name: Download generated code
uses: actions/[email protected]
with:
name: code
path: rebrickable/api
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
pip install -r dev-requirements.txt
- name: generate code
run: |
make rebrickable/api
- name: Test
run: |
tox
- name: Coveralls
env:
COVERALLS_REPO_TOKEN: ${{ secrets.coveralls_repo_token }}
run: |
coveralls
publish-docs:
if: github.event_name == 'push' && github.event.ref == 'refs/heads/master'
needs:
- test
- generate-code
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Download generated code
uses: actions/[email protected]
with:
name: code
path: rebrickable/api
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: 3.5
- name: Install dependencies
run: |
pip install -r dev-requirements.txt
- name: Generate docs
run: |
make -C docs html
- name: Deploy GH-pages
uses: peaceiris/[email protected]
env:
ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
PUBLISH_BRANCH: gh-pages
PUBLISH_DIR: ./docs/_build/html
publish:
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
needs:
- test
- generate-code
runs-on: ubuntu-latest
strategy:
max-parallel: 4
matrix:
python-version: [3.5]
steps:
- uses: actions/checkout@v1
- name: Download generated code
uses: actions/[email protected]
with:
name: code
path: rebrickable/api
- name: Set output
id: vars
run: echo ::set-output name=tag::$(echo ${GITHUB_REF:10})
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
pip install -r dev-requirements.txt
- name: Build package sdist
if: matrix.python-version == '3.5'
run: |
python setup.py sdist
- name: Build package wheel
run: |
python setup.py bdist_wheel
- name: Publish package
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.pypi_password }}
run: |
twine upload dist/*