hybridgroup.gobot/.circleci/config.yml

86 lines
2.7 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 dont 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.22
steps:
- checkout
- run:
name: Debug version
command: go version
- run:
name: Core and drivers tests
command: |
go test -race -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.22
steps:
- checkout
- run:
name: Debug version
command: go version
- run:
# digispark needs libusb, opencv needs opencv
name: Platform tests (except digispark and opencv)
command: |
go test -race -v $(go list ./platforms/... | grep -v platforms/digispark | grep -v platforms/opencv)
"check_examples":
docker:
- image: cimg/go:1.22
steps:
- checkout
- run:
name: Debug version
command: go version
- run:
# digispark needs libusb, opencv needs opencv
name: Check examples (except digispark, opencv)
command: |
ALL=$(grep -l -r --include "*.go" 'build example' ./)
SOME=$(grep -L 'digispark' $(grep -L 'gocv' ${ALL}))
for e in ${SOME} ; do go vet "${e}" ; done
"fmt_check_examples":
docker:
- image: golangci/golangci-lint:v1.61.0
steps:
- checkout
- run:
name: Debug linter version
command: golangci-lint --version
- run:
# digispark needs libusb, opencv needs opencv
name: Check examples for linter issues (except digispark, opencv)
command: |
ALL=$(grep -l -r --include "*.go" 'build example' ./)
SOME=$(grep -L 'digispark' $(grep -L 'gocv' ${ALL}))
for e in ${SOME} ; do golangci-lint run "${e}" --build-tags example --disable forcetypeassert --disable noctx ; done
workflows:
version: 2
build:
jobs:
- "test_core_and_drivers_with_coverage"
- "test_platforms"
- "check_examples"
- "fmt_check_examples"