Skip to content

Commit a812c10

Browse files
authored
Merge pull request #102 from tarantool/publish_rockspec
Publish rockspec automatically
2 parents e355387 + ab45a10 commit a812c10

File tree

4 files changed

+86
-156
lines changed

4 files changed

+86
-156
lines changed

.travis.yml

Lines changed: 86 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -8,106 +8,97 @@ 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
23+
- ROCK_NAME=queue
3124

32-
script:
25+
before_script:
3326
- 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;
4127

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

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}"
60+
- stage: deploy
61+
name: Publish rockspecs
62+
script: skip
63+
deploy:
64+
- provider: script
65+
script: curl --fail -X PUT -F rockspec=@$ROCK_NAME-scm-1.rockspec
66+
https://$ROCKS_USERNAME:[email protected]
67+
- on:
68+
tags: true
69+
provider: script
70+
script: cat $ROCK_NAME-scm-1.rockspec |
71+
sed -E
72+
-e "s/branch = '.+'/tag = '$TRAVIS_TAG'/g"
73+
-e "s/version = '.+'/version = '$TRAVIS_TAG-1'/g" |
74+
curl --fail -X PUT -F "rockspec=@-;filename=$ROCK_NAME-$TRAVIS_TAG-1.rockspec"
75+
https://$ROCKS_USERNAME:[email protected]
76+
- <<: *packpack
77+
env: OS=el DIST=6
78+
- <<: *packpack
79+
env: OS=el DIST=7
80+
- <<: *packpack
81+
env: OS=fedora DIST=28
82+
- <<: *packpack
83+
env: OS=fedora DIST=29
84+
- <<: *packpack
85+
env: OS=fedora DIST=30
86+
- <<: *packpack
87+
env: OS=ubuntu DIST=trusty
88+
- <<: *packpack
89+
env: OS=ubuntu DIST=xenial
90+
- <<: *packpack
91+
env: OS=ubuntu DIST=bionic
92+
- <<: *packpack
93+
env: OS=ubuntu DIST=cosmic
94+
- <<: *packpack
95+
env: OS=ubuntu DIST=disco
96+
- <<: *packpack
97+
env: OS=debian DIST=jessie
98+
- <<: *packpack
99+
env: OS=debian DIST=stretch
100+
- <<: *packpack
101+
env: OS=debian DIST=buster
111102

112103
notifications:
113104
email:
File renamed without changes.

rockspecs/queue-1.0.2-1.rockspec

Lines changed: 0 additions & 30 deletions
This file was deleted.

rockspecs/queue-1.0.4-1.rockspec

Lines changed: 0 additions & 31 deletions
This file was deleted.

0 commit comments

Comments
 (0)