Skip to content

Commit ab5f7ae

Browse files
committed
Add concourse pipeline
1 parent 53784e6 commit ab5f7ae

File tree

1 file changed

+252
-0
lines changed

1 file changed

+252
-0
lines changed

ci/python-networkmanager.yml

Lines changed: 252 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,252 @@
1+
---
2+
resource_types:
3+
- name: pypi
4+
type: docker-image
5+
source:
6+
repository: cfplatformeng/concourse-pypi-resource
7+
8+
- name: dput
9+
type: docker-image
10+
source:
11+
repository: seveas/concourse-dput-resource
12+
13+
- name: ppa
14+
type: docker-image
15+
source:
16+
repository: seveas/concourse-ppa-resource
17+
18+
# - name: copr
19+
# type: docker-image
20+
# source:
21+
# repository: seveas/concourse-copr-resource
22+
23+
resources:
24+
- name: git-master
25+
type: git
26+
source:
27+
uri: https://github.com/seveas/python-networkmanager.git
28+
branch: master
29+
30+
- name: git-gh-pages
31+
type: git
32+
source:
33+
uri: https://github.com/seveas/python-networkmanager.git
34+
branch: gh-pages
35+
username: ((github-username))
36+
password: ((github-password))
37+
38+
- name: git-releases
39+
type: git
40+
source:
41+
uri: https://github.com/seveas/python-networkmanager.git
42+
branch: master
43+
tag_filter: '*'
44+
45+
- name: git-debian
46+
type: git
47+
source:
48+
uri: https://github.com/seveas/python-networkmanager.git
49+
branch: debian
50+
51+
# - name: git-rpm
52+
# type: git
53+
# source:
54+
# uri: https://github.com/seveas/python-networkmanager.git
55+
# branch: rpm
56+
57+
- name: pypi
58+
type: pypi
59+
source:
60+
name: python-networkmanager
61+
username: ((pypi-username))
62+
password: ((pypi-password))
63+
64+
- name: dput
65+
type: dput
66+
source:
67+
archive: ppa:dennis/python
68+
69+
- name: ppa
70+
type: ppa
71+
source:
72+
ppa: dennis/python
73+
package: python-networkmanager
74+
api_token: ((launchpad-token))
75+
76+
# - name: copr
77+
# type: copr
78+
# source:
79+
# project: seveas/python-networkmanager
80+
# package: python-networkmanager
81+
# api_token: ((copr-token))
82+
83+
jobs:
84+
- name: docs
85+
plan:
86+
- get: git-master
87+
trigger: true
88+
- get: git-gh-pages
89+
- task: build
90+
config:
91+
platform: linux
92+
image_resource:
93+
type: docker-image
94+
source:
95+
repository: seveas/build-python
96+
tag: latest
97+
inputs:
98+
- name: git-master
99+
- name: git-gh-pages
100+
outputs:
101+
- name: git-gh-pages-out
102+
run:
103+
path: sh
104+
args:
105+
- -exc
106+
- |
107+
make -C git-master/docs html
108+
git -C git-gh-pages checkout gh-pages
109+
rsync -av --delete --filter 'protect .git' git-master/docs/_build/html/ git-gh-pages/
110+
touch git-gh-pages/.nojekyll
111+
git -C git-gh-pages add -A
112+
if ! git -C git-gh-pages diff --quiet --cached; then
113+
git -C git-gh-pages commit -m "Automated update from $(git -C git-master rev-parse --short HEAD)"
114+
fi
115+
# We must make a copy because the put doesn't see our changes to the input
116+
rsync -av --delete git-gh-pages/ git-gh-pages-out/
117+
params:
118+
GIT_COMMITTER_NAME: Concourse CI
119+
GIT_AUTHOR_NAME: Concourse CI
120+
GIT_COMMITTER_EMAIL: [email protected]
121+
GIT_AUTHOR_EMAIL: [email protected]
122+
- put: git-gh-pages
123+
params:
124+
repository: git-gh-pages-out
125+
126+
- name: tarball
127+
plan:
128+
- get: git-releases
129+
trigger: true
130+
- task: tarball
131+
config:
132+
platform: linux
133+
image_resource:
134+
type: docker-image
135+
source:
136+
repository: python
137+
tag: latest
138+
inputs:
139+
- name: git-releases
140+
outputs:
141+
- name: tarball
142+
run:
143+
path: sh
144+
args:
145+
- -exc
146+
- |
147+
cd git-releases
148+
python setup.py sdist -d ../tarball
149+
- put: pypi
150+
params:
151+
glob: tarball/python-networkmanager*.tar.gz
152+
153+
- name: ppa
154+
plan:
155+
- get: pypi
156+
trigger: true
157+
- get: git-debian
158+
- task: build
159+
config:
160+
platform: linux
161+
image_resource:
162+
type: docker-image
163+
source:
164+
repository: seveas/build-python
165+
tag: latest
166+
inputs:
167+
- name: git-debian
168+
- name: pypi
169+
outputs:
170+
- name: sources
171+
run:
172+
path: sh
173+
args:
174+
- -exc
175+
- |
176+
perl -E 'say $ENV{GPG_KEY}' | gpg --import
177+
cd pypi
178+
version=$(cat version)
179+
mv python-networkmanager-$version.tar.gz python-networkmanager_$version.orig.tar.gz
180+
tar zxvf python-networkmanager_$version.orig.tar.gz
181+
cd python-networkmanager-$version
182+
mv ../../git-debian/debian .
183+
debuild -d -S -si
184+
cd ..
185+
mv python-networkmanager_$version* ../sources
186+
params:
187+
GPG_KEY: ((gpg-key))
188+
- put: dput
189+
params:
190+
glob: sources/*.changes
191+
192+
- name: ppa-porter
193+
plan:
194+
- get: ppa
195+
trigger: true
196+
- task: split
197+
config:
198+
platform: linux
199+
image_resource:
200+
type: docker-image
201+
source:
202+
repository: seveas/concourse-ppa-resource
203+
tag: latest
204+
inputs:
205+
- name: ppa
206+
outputs:
207+
- name: sources
208+
run:
209+
path: sh
210+
args:
211+
- -exc
212+
- |
213+
perl -E 'say $ENV{GPG_KEY}' | gpg --import
214+
ppa-split ppa ../sources
215+
params:
216+
GPG_KEY: ((gpg-key))
217+
API_TOKEN: ((launchpad-token))
218+
DEBFULLNAME: Dennis Kaarsemaker
219+
220+
- put: dput
221+
params:
222+
glob: sources/*.changes
223+
allow_noop: true
224+
225+
# - name: copr
226+
# plan:
227+
# - get: pypi
228+
# trigger: true
229+
# - get: git-rpm
230+
# - task: build
231+
# config:
232+
# platform: linux
233+
# image_resource:
234+
# type: docker-image
235+
# source:
236+
# repository: seveas/build-rpm-minimal
237+
# tag: latest
238+
# inputs:
239+
# - name: git-rpm
240+
# - name: pypi
241+
# outputs:
242+
# - name: srpm
243+
# run:
244+
# path: sh
245+
# args:
246+
# - -exc
247+
# - |
248+
# rpmbuild --define '_sourcedir pypi' --define '_srcrpmdir srpm' \
249+
# --define '_topdir /tmp' -bs git-rpm/python-networkmanager.spec
250+
# - put: copr
251+
# params:
252+
# glob: srpm/python-networkmanager*.src.rpm

0 commit comments

Comments
 (0)