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 ./...