generationtux/brizo

View on GitHub
wercker.yml

Summary

Maintainability
Test Coverage
# build and test go
ci:
  box: golang
  steps:
    - setup-go-workspace
    - golint:
        exclude: vendor/**/*
    - script:
        name: go test
        code: |
          set -e
          echo "" > coverage.txt

          for d in $(go list ./... | grep -v vendor | grep -v config | grep -v dev | grep -v ui); do
            go test -race -coverprofile=profile.out -covermode=atomic $d
            if [ -f profile.out ]; then
              cat profile.out >> coverage.txt
              rm profile.out
            fi
          done

          cat coverage.txt
    - script:
        name: upload coverage
        code: |
          bash <(curl -s https://codecov.io/bash)

ci-ui:
  box: node:6.9
  steps:
    - npm-install:
        cwd: ui
    - npm-test:
        cwd: ui

build-ui:
  box: node:6.9
  steps:
    - mitelone/webpack:
        cwd: ui
        config-file: ./config/webpack.prod.js
    - script:
        name: view assets
        cwd: ui
        code: |
          ls -la ./dist

build-release:
  box: golang
  steps:
    - script:
        name: go build
        code: |
          mkdir -p /go/src/github.com/generationtux
          ln -s $WERCKER_ROOT /go/src/github.com/generationtux/brizo
          cd /go/src/github.com/generationtux/brizo
          ls -la ui/dist
          go build
          rm -rf vendor
          rm -rf ui/node_modules
    - internal/docker-push:
        username: $DOCKER_USERNAME
        password: $DOCKER_PASSWORD
        cmd: /go/src/github.com/generationtux/brizo/brizo
        repository: gentux/brizo
        disable-sync: true
        tag: latest
        working-dir: /go/src/github.com/generationtux/brizo

github-release:
  box: golang
  steps:
    - script:
        name: create release
        code: |
          ./release.sh generationtux brizo $GITHUB_RELEASE