travis: Enhance Travis to do packaging jobs on different stage (#2640)

Two stages are defined in travis job: test and package,
where test runs before package. On package stage we're
going to do the packaging of final artifacts based on
centos7, centos63, ubuntu1804, ubuntu1604 and ubuntu1404.
This is to validate that no PR will break packaging artifacts.
This commit is contained in:
Khosrow Moossavi 2018-07-13 07:23:29 -04:00 committed by Rohit Yadav
parent 4a5fab0573
commit 07042a67c6
1 changed files with 49 additions and 2 deletions

View File

@ -17,17 +17,21 @@
sudo: required
dist: trusty
group: edge
language: java
jdk:
- oraclejdk8
- oraclejdk8
python:
- "2.7"
cache:
directories:
- $HOME/.m2
- $HOME/.m2
timeout: 500
notifications:
email: false
env:
global:
- PATH=$HOME/.local/bin:$PATH
@ -171,3 +175,46 @@ script:
after_success: ./tools/travis/after_success.sh
after_failure: ./tools/travis/after_failure.sh
after_script: ./tools/travis/after_script.sh
# Packaging job definition, will be reused
.package_job: &package_job
before_install: docker pull ${IMAGE}
install: true
before_script: true
script: |
docker run \
--volume ${TRAVIS_BUILD_DIR}:/mnt/build/cloudstack \
--volume $HOME/.m2:/root/.m2 \
--rm \
${IMAGE} ${PARAMS}
after_script: true
after_success: true
after_failure: true
jobs:
include:
- stage: package
services: docker
env: IMAGE=khos2ow/cloudstack-rpm-builder:centos7 PARAMS="--distribution centos7 --pack oss"
<<: *package_job
- stage: package
services: docker
env: IMAGE=khos2ow/cloudstack-rpm-builder:centos6 PARAMS="--distribution centos63 --pack oss"
<<: *package_job
- stage: package
services: docker
env: IMAGE=khos2ow/cloudstack-deb-builder:ubuntu1804 PARAMS=""
<<: *package_job
- stage: package
services: docker
env: IMAGE=khos2ow/cloudstack-deb-builder:ubuntu1604 PARAMS=""
<<: *package_job
- stage: package
services: docker
env: IMAGE=khos2ow/cloudstack-deb-builder:ubuntu1404 PARAMS=""
<<: *package_job