use travis jobs to automate releases

This commit is contained in:
Tomas Kral
2018-02-13 14:03:00 +01:00
parent 6e9af357c7
commit acbbe99ef3
3 changed files with 70 additions and 34 deletions

2
.gitignore vendored
View File

@@ -4,6 +4,8 @@
# Ignore compiled files
ocdev
dist
bin
# Ignore coverage report
coverage.txt

View File

@@ -1,39 +1,59 @@
dist: trusty
sudo: required
sudo: false
language: go
go:
- 1.8
- 1.9
go_import_path: github.com/redhat-developer/ocdev
jobs:
include:
# YAML alias, for settings shared across the tests
- &base-test
stage: test
go_import_path: github.com/redhat-developer/ocdev
go: 1.8
install:
- make goget-tools
script:
- make bin
- make validate
install:
- make goget-tools
script:
- make
- make validate
- make test-coverage
after_success:
# submit coverage.txt to codecov.io
- bash <(curl -s https://codecov.io/bash)
before_deploy:
- make cross
- ./scripts/generate-bintray-json.sh
deploy:
provider: bintray
repo: ocdev/ocdev
file: ./.bintray.json
user:
secure: L3AL5N1UKoztNJA2methw6ChS0JmO8lkRmuHjNHS7ICWUFhWulzPubk6zApuGUxIeIpzOaY25p7gWdj7yHNQ3q622KwFKwM+zHPA0eOgl2IL2SEH6d0CJvOKze7LP+B6A+weht4T+WbSbD/kQS7WcZAT0oc1KbxYBfEtD11yLd9G11AlRC1TNO9uKvhgR941qFTNm+nwQrVQ74T11ILXv2nRh3i5IjzC+tfr39CyDVD61/p2p9J3KUf5oV4m9iYC9J2NTBakpmefwxZQM7Gkb/qubmojBWFyP2rGGuilTpvPnou6Qs9Gn2kx6+Xr6I3NPVMsJqsWFl1aiTnzRUP23hXNSlKKmjAvOY8X8+TNeh6kTDE0TT580k02Xgwd8F5FdDfAQsCW5Nb9MjK0t9wSrnZA72yXI1b/hGB0XllVfG58Ep49o720af0IN2v44rclPqxCIGXZp5bCKSujeiAGpmSuxrDpl3+4Iiba8aoNdKgtRbryAWxu1Roy1pj57EUJ7cgkWOACAcm7Jb2BZe9yivkFrrI3K2EeH4eWzFv/jjHmoVInYacO7DL0DurI4B1GEs3K+nmEzODWHt8yYhTuNv2LWxvrMqe1I4KMvnzKoowv2nc+pxWBEQ27Fsa+t/ZmQmOm+RH+uVSD7YY2UneFCBBOc0YuMADi+BzXB30aXc0=
key:
secure: HVlwXufcjEVXCKeEwZyHe0y8IP7ins0B3t1+hLLiHPA5RVVm3FH0o60+GDAzP4vWsJ5MCdey/Y6pJ5F6UNH9TByt0D+pBubwZEd+OGKJMO0VCdVx6Ca9pBMfsLbP5v74Z8nws5c6aBRE6WICgiQfosXUPNzZNL0czhQNFGwcMhcKCM9WfOSEY0d5KhxwMS2x4ORwCovJw06qRMSQarIvCXDDPUzopbN44zxxtlMjsFtsFEqPfFxuY9xYBUZDs9AkSwh5og9rXDLi97zQs+ojeF9tf7IN0FFEkvXReuLqQL6+t2hfEV+ykMRSDmwM+CXbqrIPRO3USTEGLVfUVbuRJYHCUCvATcnt5wy16xlYOhB9bwt1SpcSx9INZH6BHQyrKoT8gSRONUBkOKMpYEDINveuhHN7ucmLTKYXThU9aqxWHa4+p0xXqEhuJXNq84vjU43wGnZRaWguSKJWDZRQ2AvQmGnskKTJOpXQTMEfMxBltMnp/zcxsw05wT0aRpeUDZpdrNjB/bzgzZL5tjuNU0jX5TrGVR05m+LKHs0ac3XQ1+c8+Se5N2hbVzskAH9csWl6dcodmSUqyoJqqUNQU97UVgAAjyGDlXjzLk6MQJDP9Pk5b6LIh7oNk1vZ7R2YdrEU2u1fCQHZx/QcLNXSWRKtTj75DtRVKjKrJ86oDPs=
skip_cleanup: true
on:
on: master
go: 1.9
- <<: *base-test
go: 1.9
script:
- make bin
- make validate
- make test-coverage
after_success:
# submit coverage.txt to codecov.io
- bash <(curl -s https://codecov.io/bash)
- stage: deploy
go_import_path: github.com/redhat-developer/ocdev
go: 1.9
install:
- make goget-tools
script: skip
before_deploy:
- make prepare-release
- ./scripts/generate-bintray-json.sh
deploy:
- provider: bintray
repo: ocdev/ocdev
file: ./.bintray.json
user:
secure: L3AL5N1UKoztNJA2methw6ChS0JmO8lkRmuHjNHS7ICWUFhWulzPubk6zApuGUxIeIpzOaY25p7gWdj7yHNQ3q622KwFKwM+zHPA0eOgl2IL2SEH6d0CJvOKze7LP+B6A+weht4T+WbSbD/kQS7WcZAT0oc1KbxYBfEtD11yLd9G11AlRC1TNO9uKvhgR941qFTNm+nwQrVQ74T11ILXv2nRh3i5IjzC+tfr39CyDVD61/p2p9J3KUf5oV4m9iYC9J2NTBakpmefwxZQM7Gkb/qubmojBWFyP2rGGuilTpvPnou6Qs9Gn2kx6+Xr6I3NPVMsJqsWFl1aiTnzRUP23hXNSlKKmjAvOY8X8+TNeh6kTDE0TT580k02Xgwd8F5FdDfAQsCW5Nb9MjK0t9wSrnZA72yXI1b/hGB0XllVfG58Ep49o720af0IN2v44rclPqxCIGXZp5bCKSujeiAGpmSuxrDpl3+4Iiba8aoNdKgtRbryAWxu1Roy1pj57EUJ7cgkWOACAcm7Jb2BZe9yivkFrrI3K2EeH4eWzFv/jjHmoVInYacO7DL0DurI4B1GEs3K+nmEzODWHt8yYhTuNv2LWxvrMqe1I4KMvnzKoowv2nc+pxWBEQ27Fsa+t/ZmQmOm+RH+uVSD7YY2UneFCBBOc0YuMADi+BzXB30aXc0=
key:
secure: HVlwXufcjEVXCKeEwZyHe0y8IP7ins0B3t1+hLLiHPA5RVVm3FH0o60+GDAzP4vWsJ5MCdey/Y6pJ5F6UNH9TByt0D+pBubwZEd+OGKJMO0VCdVx6Ca9pBMfsLbP5v74Z8nws5c6aBRE6WICgiQfosXUPNzZNL0czhQNFGwcMhcKCM9WfOSEY0d5KhxwMS2x4ORwCovJw06qRMSQarIvCXDDPUzopbN44zxxtlMjsFtsFEqPfFxuY9xYBUZDs9AkSwh5og9rXDLi97zQs+ojeF9tf7IN0FFEkvXReuLqQL6+t2hfEV+ykMRSDmwM+CXbqrIPRO3USTEGLVfUVbuRJYHCUCvATcnt5wy16xlYOhB9bwt1SpcSx9INZH6BHQyrKoT8gSRONUBkOKMpYEDINveuhHN7ucmLTKYXThU9aqxWHa4+p0xXqEhuJXNq84vjU43wGnZRaWguSKJWDZRQ2AvQmGnskKTJOpXQTMEfMxBltMnp/zcxsw05wT0aRpeUDZpdrNjB/bzgzZL5tjuNU0jX5TrGVR05m+LKHs0ac3XQ1+c8+Se5N2hbVzskAH9csWl6dcodmSUqyoJqqUNQU97UVgAAjyGDlXjzLk6MQJDP9Pk5b6LIh7oNk1vZ7R2YdrEU2u1fCQHZx/QcLNXSWRKtTj75DtRVKjKrJ86oDPs=
skip_cleanup: true
on:
on: master
- provider: releases
api_key:
secure: GGP7Kk+ZjhwwOTOgY4/TufeZ82Xh6SQDJkUlig6qzOCd01Rh80waWz5X0MzNgf2UotjeiVpgFbhZ3DOeUDwkRxa+/MmmiX+gxgeS+tb5YnhnFzH0Q/13DYFF+RQQrr8jmFs7d4dm56L3U3gW4qFwyHgn9Fy5Aqsd4R4RmObV4sVtxh1Z4g4px1hJNiaKFd7T9ChFPS/fuSz75ThrSQjG4rJFWW5Sb6BPmEOkwMCGAc+b24oEZngq8HMDknuKLU1UTSOef9T9yo65M4uVVMI1RkmbmazObkd6216L7XlIvZrLhINIy3Jl7RCtT2JLgKEmHQ9582WIenRIm4PerlMn6sDHmfb+oYW2JMXhgYEOBzXk0K/RmiRGc8tCpSfEpB5qe6z28+l8SvirX9plBqZytG0EwXUVEt7qwSOlLtfrT/4tJCVpmmXDoJR/TtDrHe2HqsBTBQJpYDrOemqmEAcDDMFVG+yZq4iO+Z1jTdEqUMXUE+0UYl22//Y3+xGzvS+JEIzwU/VI2Sg+zDlTvkogQBl7IQqNl/ttXgLcRl0V/E2PpJR/gJUlEyYImKI3Gh4pV5cY7IRuT17fytp249KyK/q3mkE85/yKWPZc/fGVgqbqL7pdHTuVg/woDv46kK1VFC2lDB9Ll5yWrMGI6U/kxO8bzPa88PE0Z4i4yMoRRLo=
draft: true
prerelease: true
file_glob: true
file: "./dist/release/*"
skip_cleanup: true
on:
tags: true
repo: redhat-developer/ocdev

14
scripts/prepare-release.sh Executable file
View File

@@ -0,0 +1,14 @@
#!/bin/bash
BIN_DIR="./dist/bin/"
RELEASE_DIR="./dist/release/"
mkdir -p $RELEASE_DIR
for arch in `ls -1 $BIN_DIR/`;do
suffix=""
if [[ $arch == windows-* ]]; then
suffix=".exe"
fi
gzip --keep --to-stdout $BIN_DIR/$arch/ocdev$suffix > $RELEASE_DIR/ocdev-$arch$suffix.gz
done