Skip to content

Commit 04c7cdb

Browse files
travis-ci: Rewrite travis config to use test and deploy stages
1 parent e355387 commit 04c7cdb

File tree

1 file changed

+69
-95
lines changed

1 file changed

+69
-95
lines changed

.travis.yml

Lines changed: 69 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -8,106 +8,80 @@ cache:
88
directories:
99
- $HOME/.cache
1010

11+
stages:
12+
- test
13+
- name: deploy
14+
# Deploy packages to PackageCloud from tags and master
15+
# see:
16+
# * https://github.com/tarantool/tarantool/issues/3745
17+
# * https://github.com/travis-ci/travis-ci/issues/7780#issuecomment-302389370
18+
if: (branch = master OR tag IS present) AND (env(PACKAGECLOUD_TOKEN) IS present)
19+
1120
env:
12-
global:
13-
- PRODUCT=tarantool-queue
14-
matrix:
15-
- TARGET=test VERSION=1_10
16-
- TARGET=test VERSION=2x
17-
- TARGET=test VERSION=2_2
18-
- OS=el DIST=6
19-
- OS=el DIST=7
20-
- OS=fedora DIST=28
21-
- OS=fedora DIST=29
22-
- OS=fedora DIST=30
23-
- OS=ubuntu DIST=trusty
24-
- OS=ubuntu DIST=xenial
25-
- OS=ubuntu DIST=bionic
26-
- OS=ubuntu DIST=cosmic
27-
- OS=ubuntu DIST=disco
28-
- OS=debian DIST=jessie
29-
- OS=debian DIST=stretch
30-
- OS=debian DIST=buster
21+
global:
22+
- PRODUCT=tarantool-queue
3123

32-
script:
24+
before_script:
3325
- git describe --long
34-
- |
35-
if [ "${TARGET}" = "test" ]; then
36-
./test.sh;
37-
else
38-
git clone https://github.com/packpack/packpack.git packpack;
39-
packpack/packpack;
40-
fi;
4126

42-
before_deploy:
43-
- ls -l build/
27+
_deploy_to_packagecloud: &deploy_to_packagecloud
28+
provider: packagecloud
29+
username: tarantool
30+
token: $PACKAGECLOUD_TOKEN
31+
dist: $OS/$DIST
32+
package_glob: build/*.{rpm,deb}
33+
skip_cleanup: true
34+
35+
# Pack and deploy packages to PackageCloud
36+
_packpack: &packpack
37+
stage: deploy
38+
script:
39+
- git clone https://github.com/packpack/packpack.git
40+
- packpack/packpack
41+
- ls -l build/
42+
deploy:
43+
- <<: *deploy_to_packagecloud
44+
repository: "1_10"
45+
- <<: *deploy_to_packagecloud
46+
repository: "2x"
47+
- <<: *deploy_to_packagecloud
48+
repository: "2_2"
49+
50+
jobs:
51+
include:
52+
- env: VERSION=1_10
53+
script: ./test.sh
54+
- env: VERSION=2x
55+
script: ./test.sh
56+
- env: VERSION=2_2
57+
script: ./test.sh
4458

45-
deploy:
46-
# Deploy packages to PackageCloud from master branch
47-
- provider: packagecloud
48-
username: tarantool
49-
repository: "1_10"
50-
token: ${PACKAGECLOUD_TOKEN}
51-
dist: ${OS}/${DIST}
52-
package_glob: build/*.{rpm,deb}
53-
skip_cleanup: true
54-
on:
55-
branch: master
56-
condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
57-
- provider: packagecloud
58-
username: tarantool
59-
repository: "2x"
60-
token: ${PACKAGECLOUD_TOKEN}
61-
dist: ${OS}/${DIST}
62-
package_glob: build/*.{rpm,deb}
63-
skip_cleanup: true
64-
on:
65-
branch: master
66-
condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
67-
- provider: packagecloud
68-
username: tarantool
69-
repository: "2_2"
70-
token: ${PACKAGECLOUD_TOKEN}
71-
dist: ${OS}/${DIST}
72-
package_glob: build/*.{rpm,deb}
73-
skip_cleanup: true
74-
on:
75-
branch: master
76-
condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
77-
# Deploy packages to PackageCloud from tags
78-
# see:
79-
# * https://github.com/tarantool/tarantool/issues/3745
80-
# * https://github.com/travis-ci/travis-ci/issues/7780#issuecomment-302389370
81-
- provider: packagecloud
82-
username: tarantool
83-
repository: "1_10"
84-
token: ${PACKAGECLOUD_TOKEN}
85-
dist: ${OS}/${DIST}
86-
package_glob: build/*.{rpm,deb}
87-
skip_cleanup: true
88-
on:
89-
tags: true
90-
condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
91-
- provider: packagecloud
92-
username: tarantool
93-
repository: "2x"
94-
token: ${PACKAGECLOUD_TOKEN}
95-
dist: ${OS}/${DIST}
96-
package_glob: build/*.{rpm,deb}
97-
skip_cleanup: true
98-
on:
99-
tags: true
100-
condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
101-
- provider: packagecloud
102-
username: tarantool
103-
repository: "2_2"
104-
token: ${PACKAGECLOUD_TOKEN}
105-
dist: ${OS}/${DIST}
106-
package_glob: build/*.{rpm,deb}
107-
skip_cleanup: true
108-
on:
109-
tags: true
110-
condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
59+
- <<: *packpack
60+
env: OS=el DIST=6
61+
- <<: *packpack
62+
env: OS=el DIST=7
63+
- <<: *packpack
64+
env: OS=fedora DIST=28
65+
- <<: *packpack
66+
env: OS=fedora DIST=29
67+
- <<: *packpack
68+
env: OS=fedora DIST=30
69+
- <<: *packpack
70+
env: OS=ubuntu DIST=trusty
71+
- <<: *packpack
72+
env: OS=ubuntu DIST=xenial
73+
- <<: *packpack
74+
env: OS=ubuntu DIST=bionic
75+
- <<: *packpack
76+
env: OS=ubuntu DIST=cosmic
77+
- <<: *packpack
78+
env: OS=ubuntu DIST=disco
79+
- <<: *packpack
80+
env: OS=debian DIST=jessie
81+
- <<: *packpack
82+
env: OS=debian DIST=stretch
83+
- <<: *packpack
84+
env: OS=debian DIST=buster
11185

11286
notifications:
11387
email:

0 commit comments

Comments
 (0)