# Use the latest 2.1 version of CircleCI pipeline process engine. See: https://circleci.com/docs/2.0/configuration-reference version: 2.1 jobs: build: working_directory: ~/repo docker: - image: cimg/go:1.18.3 steps: - checkout # - restore_cache: # keys: # - go-mod-v4-{{ checksum "go.sum" }} - run: name: Install Dependencies command: go mod download # - save_cache: # key: go-mod-v4-{{ checksum "go.sum" }} # paths: # - "/go/pkg/mod" - run: name: Run tests command: | mkdir -p /tmp/test-reports gotestsum --junitfile /tmp/test-reports/unit-tests.xml - store_test_results: path: /tmp/test-reports deploy: docker: - image: cimg/go:1.16.6 # working_directory: /go/src/github.com/jhalter/mobius steps: - checkout - run: go get -u github.com/mitchellh/gox - run: go get -u github.com/tcnksm/ghr - run: go get -u github.com/stevenmatthewt/semantics - run: name: cross compile command: | make all - add_ssh_keys - run: name: create release command: | tag=$(semantics --output-tag) if [ "$tag" ]; then ghr -t $GITHUB_TOKEN -u $CIRCLE_PROJECT_USERNAME -r $CIRCLE_PROJECT_REPONAME --replace $tag dist/ else echo "The commit message(s) did not indicate a major/minor/patch version." fi workflows: version: 2 build-deploy: jobs: - build - deploy: requires: - build filters: branches: only: master