|
@@ -65,6 +65,32 @@ workflows:
|
|
|
go_version: "1.10"
|
|
|
vips_version: "8.5"
|
|
|
|
|
|
+executors:
|
|
|
+ imgproxy:
|
|
|
+ docker:
|
|
|
+ - image: "darthsim/imgproxy-circleci:latest"
|
|
|
+ working_directory: /go/src/imgproxy
|
|
|
+ parameters:
|
|
|
+ vips_version:
|
|
|
+ type: string
|
|
|
+ environment:
|
|
|
+ BASH_ENV: "/root/.bashrc"
|
|
|
+ LD_LIBRARY_PATH: "$LD_LIBRARY_PATH:/root/vips/<< parameters.vips_version >>/lib"
|
|
|
+ PKG_CONFIG_PATH: "$PKG_CONFIG_PATH:/root/vips/<< parameters.vips_version >>/lib/pkgconfig"
|
|
|
+
|
|
|
+commands:
|
|
|
+ install_go:
|
|
|
+ parameters:
|
|
|
+ go_version:
|
|
|
+ type: string
|
|
|
+ steps:
|
|
|
+ - run: |
|
|
|
+ gvm install go<< parameters.go_version >> -B
|
|
|
+ gvm use go<< parameters.go_version >> --default
|
|
|
+ echo 'export GOPATH=/go' >> $BASH_ENV
|
|
|
+ echo 'export PATH="$PATH:$(go env GOPATH)/bin"' >> $BASH_ENV
|
|
|
+ echo 'export CGO_LDFLAGS_ALLOW="-s|-w"' >> $BASH_ENV
|
|
|
+
|
|
|
jobs:
|
|
|
checkout_code:
|
|
|
docker:
|
|
@@ -78,53 +104,32 @@ jobs:
|
|
|
paths: [.]
|
|
|
|
|
|
lint:
|
|
|
- docker:
|
|
|
- - image: "darthsim/imgproxy-circleci:latest"
|
|
|
- working_directory: /go/src/imgproxy
|
|
|
- environment:
|
|
|
- BASH_ENV: "/root/.bashrc"
|
|
|
+ executor: imgproxy
|
|
|
parameters:
|
|
|
go_version:
|
|
|
type: string
|
|
|
- vips_version:
|
|
|
- type: string
|
|
|
steps:
|
|
|
- attach_workspace:
|
|
|
at: .
|
|
|
+ - install_go:
|
|
|
+ go_version: << parameters.go_version >>
|
|
|
- run:
|
|
|
- name: Build imgproxy
|
|
|
- command: |
|
|
|
- gvm install go<< parameters.go_version >> -B
|
|
|
- gvm use go<< parameters.go_version >>
|
|
|
- export GOPATH=/go
|
|
|
- export PATH="$PATH:$(go env GOPATH)/bin"
|
|
|
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/vips/<< parameters.vips_version >>/lib
|
|
|
- export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/root/vips/<< parameters.vips_version >>/lib/pkgconfig
|
|
|
- export CGO_LDFLAGS_ALLOW="-s|-w"
|
|
|
- curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.16.0
|
|
|
- golangci-lint run .
|
|
|
+ name: Install golangci-lint
|
|
|
+ command: curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | BINARY=golangci-lint sh -s -- -b $(go env GOPATH)/bin v1.16.0
|
|
|
+ - run:
|
|
|
+ name: Lint imgproxy
|
|
|
+ command: golangci-lint run .
|
|
|
|
|
|
build:
|
|
|
- docker:
|
|
|
- - image: "darthsim/imgproxy-circleci:latest"
|
|
|
- working_directory: /go/src/imgproxy
|
|
|
- environment:
|
|
|
- BASH_ENV: "/root/.bashrc"
|
|
|
+ executor: imgproxy
|
|
|
parameters:
|
|
|
go_version:
|
|
|
type: string
|
|
|
- vips_version:
|
|
|
- type: string
|
|
|
steps:
|
|
|
- attach_workspace:
|
|
|
at: .
|
|
|
+ - install_go:
|
|
|
+ go_version: << parameters.go_version >>
|
|
|
- run:
|
|
|
name: Build imgproxy
|
|
|
- command: |
|
|
|
- gvm install go<< parameters.go_version >> -B
|
|
|
- gvm use go<< parameters.go_version >>
|
|
|
- export GOPATH=/go
|
|
|
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/vips/<< parameters.vips_version >>/lib
|
|
|
- export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/root/vips/<< parameters.vips_version >>/lib/pkgconfig
|
|
|
- export CGO_LDFLAGS_ALLOW="-s|-w"
|
|
|
- go test -v
|
|
|
+ command: go test -v
|