tech(build): moves builds script into main repo

This commit is contained in:
bergquist
2017-01-23 15:09:18 +01:00
parent b1888fb8eb
commit 1339ce80f5
6 changed files with 97 additions and 1 deletions

View File

@ -1,6 +1,10 @@
machine: machine:
node: node:
version: 6.9.2 version: 6.9.2
python:
version: 2.7.3
services:
- docker
environment: environment:
GOPATH: "/home/ubuntu/.go_workspace" GOPATH: "/home/ubuntu/.go_workspace"
ORG_PATH: "github.com/grafana" ORG_PATH: "github.com/grafana"
@ -13,6 +17,8 @@ machine:
- sudo tar -C /usr/local -xzf download/$GODIST - sudo tar -C /usr/local -xzf download/$GODIST
dependencies: dependencies:
cache_directories:
- "~/docker"
override: override:
- rm -rf ${GOPATH}/src/${REPO_PATH} - rm -rf ${GOPATH}/src/${REPO_PATH}
- mkdir -p ${GOPATH}/src/${ORG_PATH} - mkdir -p ${GOPATH}/src/${ORG_PATH}
@ -22,7 +28,20 @@ test:
override: override:
- bash scripts/circle-test.sh - bash scripts/circle-test.sh
# deployment: deployment:
gh_branch:
branch: new_deploy
owner: grafana
commands:
- pip install awscli
- ./scripts/build/build_container.sh
- ./scripts/build/deploy.sh
gh_tag:
tag: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/
owner: grafana
commands:
- echo lets release stuff!
#- ./scripts/build/sign_packages.sh
# master: # master:
# branch: master # branch: master
# owner: grafana # owner: grafana

34
scripts/build/build.sh Executable file
View File

@ -0,0 +1,34 @@
#!/bin/bash
#
# This script is executed from within the container.
#
GOPATH=/go
REPO_PATH=$GOPATH/src/github.com/grafana/grafana
mkdir -p /go/src/github.com/grafana
cd /go/src/github.com/grafana
echo "Grafana branch!!"
echo $GRAFANA_BRANCH
echo "GRAFANA BRANCH: ${GRAFANA_BRANCH}"
git clone --depth 1 https://github.com/grafana/grafana.git -b $GRAFANA_BRANCH
cd $REPO_PATH
go run build.go build
npm install -g yarn
yarn install --pure-lockfile
source /etc/profile.d/rvm.sh
rvm use 2.1.9 --default
gem install fpm -v 1.4
go run build.go package latest
cp dist/* /tmp/dist/

View File

@ -0,0 +1,14 @@
#!/bin/bash
docker info && docker version
mkdir -p ~/docker
# try to load docker container from cache
if [[ -e ~/docker/centos.tar ]]; then
docker load -i ~/docker/centos.tar;
else
docker build --rm=false --tag "grafana/buildcontainer" .
# save docker container so we dont have to recreate it next run
docker save grafana/buildcontainer > ~/docker/centos.tar;
fi

8
scripts/build/deploy.sh Executable file
View File

@ -0,0 +1,8 @@
#!/bin/bash
mkdir -p dist
docker run -i -t --name gfbuild \
-v $(pwd)/dist:/tmp/dist \
-e "GRAFANA_BRANCH=${GRAFANA_BRANCH}" \
grafana/buildcontainer

12
scripts/build/sign_expect Executable file
View File

@ -0,0 +1,12 @@
#!/usr/bin/expect -f
# wrapper to make rpm --sign be non-interactive
# passwd is 1st arg, file to sign is 2nd
#send_user «$argv0 [lrange $argv 0 2]\n"
#set files [lrange $argv 1 $argc ]
set password [lindex $argv 0]
set files [lindex $argv 1]
spawn rpm --addsign $files
expect "Enter pass phrase:"
send -- "$password\r"
expect eof

9
scripts/build/sign_packages.sh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/bash
git clone git@github.com:torkelo/private.git ~/private-repo
gpg --allow-secret-key-import --import ~/private-repo/signing/private.key
cp rpmmacros ~/.rpmmacros
./sign_expect $GPG_KEY_PASSWORD dist/*.rpm