Add Circle CI runes

Advantage over Travis for this usecase is the automatic artifact handling
without needing to mess with S3 or similar, making it simple to offer
downloads.

Signed-off-by: Ian Campbell <ijc@docker.com>
This commit is contained in:
Ian Campbell 2017-11-06 15:28:27 +00:00
parent 479e183c8a
commit 1cb4d173e4

55
.circleci/config.yml Normal file
View File

@ -0,0 +1,55 @@
version: 2
jobs:
build:
working_directory: /go/src/github.com/linuxkit/linuxkit
docker:
- image: circleci/golang:1.9-stretch
steps:
- checkout
- run: mkdir -p ./bin
- run:
name: Versions
command: |
set -x
go version
cat /etc/os-release
- run:
name: Dependencies
command: |
go get -u github.com/golang/lint/golint
go get -u github.com/gordonklaus/ineffassign
- run:
name: Lint
command: make local-check
- run:
name: Build amd64/linux
environment:
GOOS: linux
GOARCH: amd64
command: make LOCAL_TARGET=bin/linuxkit-$GOOS-$GOARCH local-build
- run:
name: Build arm64/linux
environment:
GOOS: linux
GOARCH: arm64
command: make LOCAL_TARGET=bin/linuxkit-$GOOS-$GOARCH local-build
- run:
name: Build amd64/darwin
environment:
GOOS: darwin
GOARCH: amd64
command: make LOCAL_TARGET=bin/linuxkit-$GOOS-$GOARCH local-build
- run:
name: Build amd64/windows
environment:
GOOS: windows
GOARCH: amd64
command: make LOCAL_TARGET=bin/linuxkit-$GOOS-$GOARCH local-build
- run:
name: Test
command: make local-test
- run:
name: Checksum
command: cd bin && sha256sum linuxkit-*-* > SHA256SUM
- store_artifacts:
path: ./bin