Skip to content

Commit 0091a4b

Browse files
committed
Push all packages to Bintray on the master branch (beta) and tags (releases).
1 parent 65fd58f commit 0091a4b

12 files changed

+371
-38
lines changed

.circleci/config.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ jobs:
9393
mvn surefire:test -DsurefireArgLine="-Xmx1g" -Dtest=ReaperCassandraIT -Dgrim.reaper.min=2 -Dgrim.reaper.max=4
9494
9595
- store_test_results:
96-
path: target/surefire-reports
96+
path: src/server/target/surefire-reports
9797

9898

9999
notify:

.travis.yml

+86-26
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,39 @@ language: java
33
jdk:
44
- oraclejdk8
55

6+
branches:
7+
except:
8+
- /^untagged-.*$/
9+
- /^master-snapshot.*$/
10+
611
env:
712
global:
813
- LOCAL_JMX=no
914
- TEST=""
1015
matrix:
11-
# 2.1.18 runs all tests together because it's also for sonar reporting, see below
12-
- TEST_TYPE=ccm CASSANDRA_VERSION=2.1.18
13-
- TEST_TYPE=ccm CASSANDRA_VERSION=2.1.18 GRIM_MIN=2 GRIM_MAX=2
14-
- TEST_TYPE=ccm CASSANDRA_VERSION=2.1.18 GRIM_MIN=2 GRIM_MAX=4
15-
- TEST_TYPE=ccm CASSANDRA_VERSION=2.2.10 GRIM_MIN=1 GRIM_MAX=1
16-
- TEST_TYPE=ccm CASSANDRA_VERSION=2.2.10 GRIM_MIN=2 GRIM_MAX=2
17-
- TEST_TYPE=ccm CASSANDRA_VERSION=2.2.10 GRIM_MIN=2 GRIM_MAX=4
18-
- TEST_TYPE=ccm CASSANDRA_VERSION=3.0.10 GRIM_MIN=1 GRIM_MAX=1
19-
- TEST_TYPE=ccm CASSANDRA_VERSION=3.0.14 GRIM_MIN=2 GRIM_MAX=2
20-
- TEST_TYPE=ccm CASSANDRA_VERSION=3.0.14 GRIM_MIN=2 GRIM_MAX=4
21-
- TEST_TYPE=ccm CASSANDRA_VERSION=3.11.0 GRIM_MIN=1 GRIM_MAX=1
22-
- TEST_TYPE=ccm CASSANDRA_VERSION=3.11.0 GRIM_MIN=2 GRIM_MAX=2
23-
- TEST_TYPE=ccm CASSANDRA_VERSION=3.11.0 GRIM_MIN=2 GRIM_MAX=4
16+
# 2.1.19 runs all tests together because it's also for sonar reporting, see below
17+
- TEST_TYPE=ccm CASSANDRA_VERSION=2.1.19
18+
- TEST_TYPE=ccm CASSANDRA_VERSION=2.1.19 GRIM_MIN=2 GRIM_MAX=2
19+
- TEST_TYPE=ccm CASSANDRA_VERSION=2.1.19 GRIM_MIN=2 GRIM_MAX=4
20+
- TEST_TYPE=ccm CASSANDRA_VERSION=2.2.11 GRIM_MIN=1 GRIM_MAX=1
21+
- TEST_TYPE=ccm CASSANDRA_VERSION=2.2.11 GRIM_MIN=2 GRIM_MAX=2
22+
- TEST_TYPE=ccm CASSANDRA_VERSION=2.2.11 GRIM_MIN=2 GRIM_MAX=4
23+
- TEST_TYPE=ccm CASSANDRA_VERSION=3.0.15 GRIM_MIN=1 GRIM_MAX=1
24+
- TEST_TYPE=ccm CASSANDRA_VERSION=3.0.15 GRIM_MIN=2 GRIM_MAX=2
25+
- TEST_TYPE=ccm CASSANDRA_VERSION=3.0.15 GRIM_MIN=2 GRIM_MAX=4
26+
- TEST_TYPE=ccm CASSANDRA_VERSION=3.11.1 GRIM_MIN=1 GRIM_MAX=1
27+
- TEST_TYPE=ccm CASSANDRA_VERSION=3.11.1 GRIM_MIN=2 GRIM_MAX=2
28+
- TEST_TYPE=ccm CASSANDRA_VERSION=3.11.1 GRIM_MIN=2 GRIM_MAX=4
2429
- TEST_TYPE=docker
2530

2631
matrix:
2732
fast_finish: true
2833
allow_failures:
2934
- env: TEST_TYPE=ccm CASSANDRA_VERSION=2.2.10 GRIM_MIN=2 GRIM_MAX=2
3035
- env: TEST_TYPE=ccm CASSANDRA_VERSION=2.2.10 GRIM_MIN=2 GRIM_MAX=4
31-
- env: TEST_TYPE=ccm CASSANDRA_VERSION=3.0.14 GRIM_MIN=2 GRIM_MAX=2
32-
- env: TEST_TYPE=ccm CASSANDRA_VERSION=3.0.14 GRIM_MIN=2 GRIM_MAX=4
33-
- env: TEST_TYPE=ccm CASSANDRA_VERSION=3.11.0 GRIM_MIN=2 GRIM_MAX=4
36+
- env: TEST_TYPE=ccm CASSANDRA_VERSION=3.0.15 GRIM_MIN=2 GRIM_MAX=2
37+
- env: TEST_TYPE=ccm CASSANDRA_VERSION=3.0.15 GRIM_MIN=2 GRIM_MAX=4
38+
- env: TEST_TYPE=ccm CASSANDRA_VERSION=3.11.1 GRIM_MIN=2 GRIM_MAX=4
3439
- env: TEST_TYPE=docker
3540

3641
services:
@@ -52,16 +57,71 @@ after_failure: ./src/ci/after_failure.sh
5257
before_deploy: ./src/ci/before_deploy.sh
5358

5459
deploy:
55-
provider: releases
56-
api_key: $GITHUB_TOKEN
57-
file_glob: true
58-
file:
59-
- "cassandra-reaper-${TRAVIS_TAG}-release.tar.gz"
60-
- "src/packages/reaper-*-1.x86_64.rpm"
61-
- "src/packages/reaper_*_amd64.deb"
62-
skip_cleanup: true
63-
on:
64-
tags: true
60+
- provider: releases
61+
api_key: $GITHUB_TOKEN
62+
file_glob: true
63+
file:
64+
- "src/packages/cassandra-reaper-${TRAVIS_TAG}-release.tar.gz"
65+
- "src/packages/reaper-*-1.x86_64.rpm"
66+
- "src/packages/reaper_*_amd64.deb"
67+
skip_cleanup: true
68+
on:
69+
tags: true
70+
- provider: bintray
71+
file: "src/ci/descriptor-rpm-beta.json"
72+
user: "adejanovski"
73+
key: $BINTRAY_API_KEY
74+
dry-run: false
75+
skip_cleanup: true
76+
on:
77+
branch: "master"
78+
condition: $CASSANDRA_VERSION = "2.1.19" && "x${GRIM_MIN}" = "x"
79+
- provider: bintray
80+
file: "src/ci/descriptor-deb-beta.json"
81+
user: "adejanovski"
82+
key: $BINTRAY_API_KEY
83+
dry-run: false
84+
skip_cleanup: true
85+
on:
86+
branch: "master"
87+
condition: $CASSANDRA_VERSION = "2.1.19" && "x${GRIM_MIN}" = "x"
88+
- provider: bintray
89+
file: "src/ci/descriptor-tarball-beta.json"
90+
user: "adejanovski"
91+
key: $BINTRAY_API_KEY
92+
dry-run: false
93+
skip_cleanup: true
94+
on:
95+
branch: "master"
96+
condition: $CASSANDRA_VERSION = "2.1.19" && "x${GRIM_MIN}" = "x"
97+
- provider: bintray
98+
file: "src/ci/descriptor-rpm.json"
99+
user: "adejanovski"
100+
key: $BINTRAY_API_KEY
101+
dry-run: false
102+
skip_cleanup: true
103+
on:
104+
tags: true
105+
condition: $CASSANDRA_VERSION = "2.1.19" && "x${GRIM_MIN}" = "x"
106+
- provider: bintray
107+
file: "src/ci/descriptor-deb.json"
108+
user: "adejanovski"
109+
key: $BINTRAY_API_KEY
110+
dry-run: false
111+
skip_cleanup: true
112+
on:
113+
tags: true
114+
condition: $CASSANDRA_VERSION = "2.1.19" && "x${GRIM_MIN}" = "x"
115+
- provider: bintray
116+
file: "src/ci/descriptor-tarball.json"
117+
user: "adejanovski"
118+
key: $BINTRAY_API_KEY
119+
dry-run: false
120+
skip_cleanup: true
121+
on:
122+
tags: true
123+
condition: $CASSANDRA_VERSION = "2.1.19" && "x${GRIM_MIN}" = "x"
124+
65125

66126
notifications:
67127
webhooks:

src/ci/after_success.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ case "${TEST_TYPE}" in
1010
exit 1
1111
;;
1212
"ccm")
13-
if [ "${TRAVIS_PULL_REQUEST}" = "false" -a "${TRAVIS_BRANCH}" = "master" -a "${CASSANDRA_VERSION}" = "2.1.18" ]
13+
if [ "${TRAVIS_PULL_REQUEST}" = "false" -a "${TRAVIS_BRANCH}" = "master" -a "${CASSANDRA_VERSION}" = "2.1.19" ]
1414
then
1515
mvn sonar:sonar \
16-
-Dsonar.host.url=https://sonarqube.com \
16+
-Dsonar.host.url=https://sonarcloud.io \
1717
-Dsonar.login=${SONAR_TOKEN} \
1818
-Dsonar.projectKey=tlp-cassandra-reaper \
1919
-Dsonar.github.oauth=${GITHUB_TOKEN} \

src/ci/before_deploy.sh

+48-9
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,51 @@ echo "Starting Before Deploy step..."
44

55
set -xe
66

7-
mkdir cassandra-reaper-${TRAVIS_TAG}
8-
mkdir cassandra-reaper-${TRAVIS_TAG}/server
9-
mkdir cassandra-reaper-${TRAVIS_TAG}/server/target
10-
cp -R src/packaging/bin cassandra-reaper-${TRAVIS_TAG}/
11-
cp src/server/target/cassandra-reaper-*.jar cassandra-reaper-${TRAVIS_TAG}/server/target
12-
cp -R src/packaging/resource cassandra-reaper-${TRAVIS_TAG}/
13-
tar czf cassandra-reaper-${TRAVIS_TAG}-release.tar.gz cassandra-reaper-${TRAVIS_TAG}/
14-
docker-compose -f src/packaging/docker-build/docker-compose.yml build > /dev/null
15-
docker-compose -f src/packaging/docker-build/docker-compose.yml run build > /dev/null
7+
if [ "${CASSANDRA_VERSION}" = "2.1.19" -a "x${GRIM_MIN}" = "x" ]
8+
then
9+
if [ "${TRAVIS_BRANCH}" = "master" -a ! -d "cassandra-reaper-master" ]
10+
then
11+
VERSION=$(printf 'VER\t${project.version}' | mvn help:evaluate | grep '^VER' | cut -f2)
12+
DATE=$(date +"%Y%m%d")
13+
RELEASEDATE=$(date +"%Y-%m-%d")
14+
RPM_VERSION=$(echo "${VERSION}-${DATE}" | sed "s/-/_/")
15+
# Update Bintray descriptor files with appropriate version numbers and release dates
16+
sed -i "s/VERSION/${VERSION}-${DATE}/" src/ci/descriptor-rpm-beta.json
17+
sed -i "s/RELEASEDATE/${RELEASEDATE}/" src/ci/descriptor-rpm-beta.json
18+
sed -i "s/VERSION/${VERSION}-${DATE}/" src/ci/descriptor-deb-beta.json
19+
sed -i "s/RELEASEDATE/${RELEASEDATE}/" src/ci/descriptor-deb-beta.json
20+
sed -i "s/VERSION/${VERSION}-${DATE}/" src/ci/descriptor-tarball-beta.json
21+
sed -i "s/RELEASEDATE/${RELEASEDATE}/" src/ci/descriptor-tarball-beta.json
22+
mkdir -p cassandra-reaper-master/server/target
23+
cp -R src/packaging/bin cassandra-reaper-master/
24+
cp src/server/target/cassandra-reaper-*.jar cassandra-reaper-master/server/target
25+
cp -R src/packaging/resource cassandra-reaper-master/
26+
tar czf cassandra-reaper-${VERSION}-${DATE}.tar.gz cassandra-reaper-master/
27+
docker-compose -f src/packaging/docker-build/docker-compose.yml build > /dev/null
28+
docker-compose -f src/packaging/docker-build/docker-compose.yml run build > /dev/null
29+
# Renaming the packages to avoid conflicts in Bintray
30+
sudo mv cassandra-reaper-${VERSION}-${DATE}.tar.gz src/packages/
31+
sudo mv src/packages/reaper_${VERSION}_amd64.deb src/packages/reaper_${VERSION}-${DATE}_amd64.deb
32+
sudo mv src/packages/reaper-*.x86_64.rpm src/packages/reaper-${RPM_VERSION}.x86_64.rpm
33+
fi
34+
if [ "x${TRAVIS_TAG}" != "x" -a ! -d "cassandra-reaper-${TRAVIS_TAG}" ]
35+
then
36+
VERSION=$(printf 'VER\t${project.version}' | mvn help:evaluate | grep '^VER' | cut -f2)
37+
RELEASEDATE=$(date +"%Y-%m-%d")
38+
# Update Bintray descriptor files with appropriate version numbers and release dates
39+
sed -i "s/VERSION/${VERSION}/" src/ci/descriptor-rpm.json
40+
sed -i "s/RELEASEDATE/${RELEASEDATE}/" src/ci/descriptor-rpm.json
41+
sed -i "s/VERSION/${VERSION}/" src/ci/descriptor-deb.json
42+
sed -i "s/RELEASEDATE/${RELEASEDATE}/" src/ci/descriptor-deb.json
43+
sed -i "s/VERSION/${VERSION}/" src/ci/descriptor-tarball.json
44+
sed -i "s/RELEASEDATE/${RELEASEDATE}/" src/ci/descriptor-tarball.json
45+
mkdir -p cassandra-reaper-${TRAVIS_TAG}/server/target
46+
cp -R src/packaging/bin cassandra-reaper-${TRAVIS_TAG}/
47+
cp src/server/target/cassandra-reaper-*.jar cassandra-reaper-${TRAVIS_TAG}/server/target
48+
cp -R src/packaging/resource cassandra-reaper-${TRAVIS_TAG}/
49+
tar czf cassandra-reaper-${TRAVIS_TAG}-release.tar.gz cassandra-reaper-${TRAVIS_TAG}/
50+
sudo mv cassandra-reaper-${TRAVIS_TAG}-release.tar.gz src/packages/
51+
docker-compose -f src/packaging/docker-build/docker-compose.yml build > /dev/null
52+
docker-compose -f src/packaging/docker-build/docker-compose.yml run build > /dev/null
53+
fi
54+
fi

src/ci/before_script.sh

+5
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ echo "Starting Before Script step..."
44

55
set -xe
66

7+
if [ "x${GRIM_MIN}" = "x" ]
8+
then
9+
npm install -g bower > /dev/null
10+
fi
11+
712
case "${TEST_TYPE}" in
813
"")
914
echo "ERROR: Environment variable TEST_TYPE is unspecified."

src/ci/descriptor-deb-beta.json

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"package": {
3+
"name": "cassandra-reaper-beta", // Bintray package name
4+
"repo": "reaper-deb-beta", // Bintray repository name
5+
"subject": "thelastpickle", // Bintray subject (user or organization)
6+
"desc": "Apache Cassandra Reaper snapshot releases",
7+
"website_url": "cassandra-reaper.io",
8+
"issue_tracker_url": "https://github.com/thelastpickle/cassandra-reaper/issues",
9+
"vcs_url": "https://github.com/thelastpickle/cassandra-reaper.git",
10+
"github_use_tag_release_notes": false,
11+
"github_release_notes_file": "RELEASE.txt",
12+
"licenses": ["Apache-2.0"],
13+
"labels": ["cassandra", "reaper"],
14+
"public_download_numbers": true,
15+
"public_stats": true,
16+
"attributes": []
17+
},
18+
19+
"version": {
20+
"name": "VERSION",
21+
"desc": "VERSION",
22+
"released": "RELEASEDATE",
23+
"vcs_tag": "VERSION",
24+
"attributes": [],
25+
"gpgSign": false
26+
},
27+
"files":
28+
[
29+
{"includePattern": "src/packages/(.*\\.deb)", "uploadPattern": "/$1",
30+
"matrixParams": {
31+
"override": 1 ,
32+
"deb_distribution": "wheezy,jessie,stretch",
33+
"deb_component": "main",
34+
"deb_architecture": "i386,amd64"
35+
}
36+
}
37+
],
38+
"publish": true
39+
}

src/ci/descriptor-deb.json

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"package": {
3+
"name": "cassandra-reaper", // Bintray package name
4+
"repo": "reaper-deb", // Bintray repository name
5+
"subject": "thelastpickle", // Bintray subject (user or organization)
6+
"desc": "Apache Cassandra Reaper stable releases",
7+
"website_url": "cassandra-reaper.io",
8+
"issue_tracker_url": "https://github.com/thelastpickle/cassandra-reaper/issues",
9+
"vcs_url": "https://github.com/thelastpickle/cassandra-reaper.git",
10+
"github_use_tag_release_notes": false,
11+
"github_release_notes_file": "RELEASE.txt",
12+
"licenses": ["Apache-2.0"],
13+
"labels": ["cassandra", "reaper"],
14+
"public_download_numbers": true,
15+
"public_stats": true,
16+
"attributes": []
17+
},
18+
19+
"version": {
20+
"name": "VERSION",
21+
"desc": "VERSION",
22+
"released": "RELEASEDATE",
23+
"vcs_tag": "VERSION",
24+
"attributes": [],
25+
"gpgSign": false
26+
},
27+
"files":
28+
[
29+
{"includePattern": "src/packages/(.*\\.deb)", "uploadPattern": "/$1",
30+
"matrixParams": {
31+
"override": 1 ,
32+
"deb_distribution": "wheezy,jessie,stretch",
33+
"deb_component": "main",
34+
"deb_architecture": "i386,amd64"
35+
}
36+
}
37+
],
38+
"publish": true
39+
}

src/ci/descriptor-rpm-beta.json

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"package": {
3+
"name": "cassandra-reaper-beta", // Bintray package name
4+
"repo": "reaper-rpm-beta", // Bintray repository name
5+
"subject": "thelastpickle", // Bintray subject (user or organization)
6+
"desc": "Apache Cassandra Reaper snapshot releases",
7+
"website_url": "cassandra-reaper.io",
8+
"issue_tracker_url": "https://github.com/thelastpickle/cassandra-reaper/issues",
9+
"vcs_url": "https://github.com/thelastpickle/cassandra-reaper.git",
10+
"github_use_tag_release_notes": false,
11+
"github_release_notes_file": "RELEASE.txt",
12+
"licenses": ["Apache-2.0"],
13+
"labels": ["cassandra", "reaper"],
14+
"public_download_numbers": true,
15+
"public_stats": true,
16+
"attributes": []
17+
},
18+
19+
"version": {
20+
"name": "VERSION",
21+
"desc": "VERSION",
22+
"released": "RELEASEDATE",
23+
"vcs_tag": "VERSION",
24+
"attributes": [],
25+
"gpgSign": false
26+
},
27+
"files":
28+
[
29+
{"includePattern": "src/packages/(.*\\.rpm)", "uploadPattern": "/$1",
30+
"matrixParams": { "override": 1 }
31+
}
32+
],
33+
"publish": true
34+
}

src/ci/descriptor-rpm.json

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"package": {
3+
"name": "cassandra-reaper", // Bintray package name
4+
"repo": "reaper-rpm", // Bintray repository name
5+
"subject": "thelastpickle", // Bintray subject (user or organization)
6+
"desc": "Apache Cassandra Reaper stable releases",
7+
"website_url": "cassandra-reaper.io",
8+
"issue_tracker_url": "https://github.com/thelastpickle/cassandra-reaper/issues",
9+
"vcs_url": "https://github.com/thelastpickle/cassandra-reaper.git",
10+
"github_use_tag_release_notes": false,
11+
"github_release_notes_file": "RELEASE.txt",
12+
"licenses": ["Apache-2.0"],
13+
"labels": ["cassandra", "reaper"],
14+
"public_download_numbers": true,
15+
"public_stats": true,
16+
"attributes": []
17+
},
18+
19+
"version": {
20+
"name": "VERSION",
21+
"desc": "VERSION",
22+
"released": "RELEASEDATE",
23+
"vcs_tag": "VERSION",
24+
"attributes": [],
25+
"gpgSign": false
26+
},
27+
"files":
28+
[
29+
{"includePattern": "src/packages/(.*\\.rpm)", "uploadPattern": "/$1",
30+
"matrixParams": { "override": 1 }
31+
}
32+
],
33+
"publish": true
34+
}

0 commit comments

Comments
 (0)