Skip to content

Commit

Permalink
refactor: Go 1.11 and other refactorings (#36)
Browse files Browse the repository at this point in the history
* ci: Use docker multi-stage builds
* refactor: Migrate from dep to go mod
* ci: Add Makefile to simplify builds
* ci: Upgrade to golang 1.11
* refactor: Run goimports for formatting
  • Loading branch information
estahn authored Dec 10, 2018
1 parent dd22cba commit b95fe70
Show file tree
Hide file tree
Showing 10 changed files with 189 additions and 322 deletions.
32 changes: 13 additions & 19 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,29 @@
defaults: &defaults
working_directory: /go/src/github.com/hipages/php-fpm_exporter

version: 2
jobs:

test:
<<: *defaults
docker:
- image: circleci/golang:1.10
- image: circleci/golang:1.11
steps:
- checkout
- run:
name: Setup Code Climate test-reporter
name: Install Code Climate test-reporter
command: |
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
chmod +x ./cc-test-reporter
- run: curl -L -s https://github.com/golang/dep/releases/download/v0.4.1/dep-linux-amd64 -o /go/bin/dep && chmod +x /go/bin/dep
- run: dep ensure -vendor-only
- run: curl -L -s https://github.com/alecthomas/gometalinter/releases/download/v2.0.5/gometalinter-2.0.5-linux-amd64.tar.gz | tar xvfz - -C /go/bin/ --strip 1
- run: gometalinter --disable-all --enable=megacheck --enable=golint --enable=unconvert --enable=vet --enable=vetshadow --vendor ./...
./cc-test-reporter before-build
- run:
name: Install gometalinter
command: curl -L https://git.io/vp6lP | sudo BINDIR=/go/bin sh
- run: make deps lint test-coverage
- run:
name: Run tests
name: Upload Code coverage
command: |
CC_TEST_REPORTER_ID=5a29fe5d2c613af8a8a4f41f8e3a0a0d74895ecc6dc5deb84664ad46a48d1ce6 ./cc-test-reporter before-build
go test -v -coverprofile=c.out ./...
CC_TEST_REPORTER_ID=5a29fe5d2c613af8a8a4f41f8e3a0a0d74895ecc6dc5deb84664ad46a48d1ce6 ./cc-test-reporter after-build --exit-code $?
sed -i 's#github.com/hipages/php-fpm_exporter/##' .cover/cover.out
./cc-test-reporter format-coverage -t gocov .cover/cover.out
./cc-test-reporter upload-coverage
release:
semantic-release:
docker:
- image: circleci/node:9
steps:
Expand All @@ -35,15 +32,12 @@ jobs:
- run: $(yarn global bin)/semantic-release

deploy:
<<: *defaults
docker:
- image: circleci/golang:1.10
steps:
- checkout
- setup_remote_docker
- run: docker login -u $DOCKER_USER -p $DOCKER_PASS
- run: curl -L -s https://github.com/golang/dep/releases/download/v0.4.1/dep-linux-amd64 -o /go/bin/dep && chmod +x /go/bin/dep
- run: dep ensure -vendor-only
- run: curl -sL https://git.io/goreleaser | bash

workflows:
Expand All @@ -54,7 +48,7 @@ workflows:
filters:
tags:
only: /^v.*/
- release:
- semantic-release:
requires:
- test
filters:
Expand Down
12 changes: 10 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
FROM golang:1.11 as build

WORKDIR /app
COPY . .

RUN go get -d -v ./...
RUN go install -v ./...

FROM alpine:3.5
LABEL maintainer "hipages DevOps Team <[email protected]>"

COPY php-fpm_exporter /bin/php-fpm_exporter
COPY --from=build /go/bin/php-fpm_exporter /

EXPOSE 9253
ENTRYPOINT [ "/bin/php-fpm_exporter", "server" ]
ENTRYPOINT [ "/php-fpm_exporter", "server" ]
240 changes: 0 additions & 240 deletions Gopkg.lock

This file was deleted.

58 changes: 0 additions & 58 deletions Gopkg.toml

This file was deleted.

Loading

0 comments on commit b95fe70

Please sign in to comment.