Search code examples
gocirclecibuffalo

Circleci and GoBuffalo challenge


I'm currently trying to get GoBuffalo and CircleCi working, but so far without luck.

Circleci fails on the "buffalo build" step with the error message: enter image description here

My config.yaml:

version: 2
jobs:
  khw_build_and_test:
    docker:
      - image: circleci/golang:1.9
    working_directory: /go/src/github.com/khwerhahn/khw
    environment:
      TEST_RESULTS: /tmp/test-results
    steps:
      - checkout
      - run: mkdir -p $TEST_RESULTS # create the test results directory
      - run:
          name: Update PATH and Define Environment Variable at Runtime
          command: |
            echo 'export PATH=${GOPATH}/bin/:${PATH}' >> $BASH_ENV
            source $BASH_ENV
      - run: go get -v -t -d ./...
      - run: go get -u -v github.com/gobuffalo/buffalo/buffalo
      - run: buffalo build
      - restore_cache:
          keys:
            - v1-pkg-cache
      - save_cache: # Store cache in the /go/pkg directory
          key: v1-pkg-cache
          paths:
            - "/go/pkg"
  khw_deploy_to_production:
    xxxx cut out xxxx

workflows:
  version: 2
  build_test_deploy:
    jobs:
      - khw_build_and_test
      - khw_deploy_to_production:
          requires:
            - khw_build_and_test
          filters:
            branches:
              only: master

Can somebody explain this error to me?


Solution

  • Tino, this is how I run my tests in CircleCi with buffalo, one important thing is that you can use buffalo images to build/test your code.

    This has some advantages:

    1. All buffalo dependencies are already in the buffalo image
    2. It has postgres preinstalled so I just have to start it and run tests against it.
    version: 2
    
    jobs:
      test:
        docker:
          - image: gobuffalo/buffalo:v0.14.0
        working_directory: /go/src/github.com/my/app
        steps:
          - checkout
          - run: GO111MODULE=off go get github.com/gobuffalo/buffalo-plugins
          - run: buffalo plugins install
          - run: service postgresql start && buffalo db create -e test && buffalo db migrate -e test
          - run: service postgresql start && buffalo test ./...