Skip to content

Instantly share code, notes, and snippets.

@siennathesane
Last active August 26, 2019 20:11
Show Gist options
  • Save siennathesane/37786861afa5e7481dc90161ea4eab13 to your computer and use it in GitHub Desktop.
Save siennathesane/37786861afa5e7481dc90161ea4eab13 to your computer and use it in GitHub Desktop.
resources:
- name: release
type: github-release
source:
owner: 18f
repository: cf-service-connect
access_token: ((github-token))
- name: release-source
type: git
icon: github-circle
source:
uri: https://github.com/18f/cf-service-connect.git
branch: master
disable_ci_skip: false
- name: dev-source
type: git
icon: github-circle
source:
uri: https://github.com/18f/cf-service-connect.git
branch: master
disable_ci_skip: false
- name: release-version
type: semver
source:
driver: git
uri: git@github.com:18f/cf-service-connect.git
branch: master
file: ci/relase-tag
private_key: ((github-private-key))
- name: dev-version
type: semver
source:
driver: git
uri: git@github.com:18f/cf-service-connect.git
branch: dev
file: ci/relase-tag
private_key: ((github-private-key))
- name: golang-latest-linux
type: registry-image
icon: docker
source:
repository: golang
tag: latest
- name: golang-1.12-linux
type: registry-image
icon: docker
source:
repository: golang
tag: 1.12
- name: golang-1.11-linux
type: registry-image
icon: docker
source:
repository: golang
tag: 1.11
release-source-input: &release-source-input
input:
- name: release-source
path: go/src/github.com/18F/cf-service-connect
dev-source-input: &dev-source-input
input:
- name: dev-source
path: go/src/github.com/18F/cf-service-connect
cross-compile: &cross-compile
args:
- -c
- -x
- -u
- -e
- |
SRCPATH=$PWD/go/src/github.com/18F/cf-service-connect
GOPATH=$PWD/go
cd $SRCPATH
go get -t -v ./...
go test -v ./...
for GOOS in darwin linux windows; do
for GOARCH in 386 amd64; do
export GOOS GOARCH
go build -v -o cf-service-connect-$GOOS-$GOARCH
done
done
path: /bin/sh
release-task-config: &release-task-config
platform: linux
<<: *release-source-input
run:
<<: *cross-compile
dev-task-config: &dev-task-config
platform: linux
<<: *dev-source-input
run:
<<: *cross-compile
jobs:
- name: dev-golang-latest-linux
plan:
- get: source
trigger: true
- get: golang-latest-linux
trigger: true
- task: build-and-test
image: golang-latest-linux
config:
<<: *dev-task-config
- name: dev-golang-1.12-linux
plan:
- get: source
trigger: true
- get: golang-1.12-linux
trigger: true
- task: build-and-test
image: golang-1.12-linux
config:
<<: *dev-task-config
- name: dev-golang-1.11-linux
plan:
- get: source
trigger: true
- get: golang-1.11-linux
trigger: true
- task: build-and-test
image: golang-1.11-linux
config:
<<: *dev-task-config
- name: release-golang-latest-linux
plan:
- get: source
trigger: true
- get: golang-latest-linux
trigger: true
- task: build-and-test
image: golang-latest-linux
config:
<<: *release-task-config
- name: release-golang-1.12-linux
plan:
- get: source
trigger: true
- get: golang-1.12-linux
trigger: true
- task: build-and-test
image: golang-1.12-linux
config:
<<: *release-task-config
- name: release-golang-1.11-linux
plan:
- get: source
trigger: true
- get: golang-1.11-linux
trigger: true
- task: build-and-test
image: golang-1.11-linux
config:
<<: *release-task-config
- name: release
plan:
- get: source
trigger: true
passed: [golang-latest-linux, golang-1.12-linux, golang-1.11-linux]
- get: golang-latest-linux
trigger: true
- task: build-release
config:
platform: linux
inputs:
<<: *release-source-input
outputs:
- name: artifacts
path: artifacts
run:
path: /bin/sh
args:
- -c
- -x
- -u
- -e
- |
START=$PWD
SRCPATH=$PWD/go/src/github.com/18F/cf-service-connect
GOPATH=$PWD/go
cd $SRCPATH
go get -t -v ./...
for GOOS in darwin linux windows; do
for GOARCH in 386 amd64; do
export GOOS GOARCH
go build -v -o $START/artifacts/cf-service-connect-$GOOS-$GOARCH
done
done
- put: release
params:
name: source/ci/release-name
tag: source/ci/release-release-tag
body: source/ci/release-body
globs:
- artifacts/cf-service-connect-*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment