# Since switch to cimg, the GOPATH has been changed from /go to $HOME/go. # The latter will expand to the full path of /home/circleci/go. # On first run, this change may affect caching and some other commands if # you don’t correct the page in your config. # # Specify service dependencies here if necessary # CircleCI maintains a library of pre-built images # documented at https://circleci.com/docs/circleci-images # - image: cimg/postgres:14.5.0 # # For more information, please read https://github.com/CircleCI-Public/cimg-go/blob/main/README.md version: 2 jobs: "test_core_and_drivers_with_coverage": docker: - image: cimg/go:1.18 steps: - checkout - run: name: Debug version command: go version - run: name: Core and drivers tests command: | go test -v -coverprofile=coverage.txt -covermode=atomic . ./drivers/... - run: name: Code coverage command: | bash <(curl -s https://codecov.io/bash) "test_platforms": docker: - image: cimg/go:1.18 steps: - checkout - run: name: Debug version command: go version - run: # digispark needs libusb, joystick needs sdl2, opencv needs opencv name: Platform tests (except digispark, joystick, opencv) command: | go test -v $(go list ./platforms/... | grep -v platforms/digispark | grep -v platforms/joystick | grep -v platforms/opencv) "check_examples": docker: - image: cimg/go:1.18 steps: - checkout - run: name: Debug version command: go version - run: # digispark needs libusb, joystick needs sdl2, opencv needs opencv name: Check examples (except digispark, joystick, opencv) command: | ALL=$(grep -l -r --include "*.go" 'build example' ./) SOME=$(grep -L 'digispark' $(grep -L 'joystick' $(grep -L 'gocv' ${ALL}))) for e in ${SOME} ; do go vet "${e}" ; done workflows: version: 2 build: jobs: - "test_core_and_drivers_with_coverage" - "test_platforms" - "check_examples"