1 # Use the latest 2.1 version of CircleCI pipeline process engine. See: https://circleci.com/docs/2.0/configuration-reference
5 working_directory: ~/repo
7 - image: cimg/go:1.16.6
12 # - go-mod-v4-{{ checksum "go.sum" }}
14 name: Install Dependencies
15 command: go mod download
17 # key: go-mod-v4-{{ checksum "go.sum" }}
23 mkdir -p /tmp/test-reports
24 gotestsum --junitfile /tmp/test-reports/unit-tests.xml
26 path: /tmp/test-reports
30 - image: cimg/go:1.16.6
31 # working_directory: /go/src/github.com/jhalter/mobius
34 - run: go get -u github.com/mitchellh/gox
35 - run: go get -u github.com/tcnksm/ghr
36 - run: go get -u github.com/stevenmatthewt/semantics
40 make build-win-amd64-server
42 mkdir dist/mobius_server_linux_amd64
43 mkdir dist/mobius_server_darwin_amd64
44 mkdir dist/mobius_server_linux_arm
46 cd cmd/mobius-hotline-server
48 cp -r mobius/config ../../dist/mobius_server_linux_amd64/config
49 cp -r mobius/config ../../dist/mobius_server_darwin_amd64/config
50 cp -r mobius/config ../../dist/mobius_server_linux_arm/config
52 gox -os="linux" -arch="amd64" -output="../../dist/mobius_server_linux_amd64/mobius_server"
53 gox -os="darwin" -arch="amd64" -output="../../dist/mobius_server_darwin_amd64/mobius_server"
54 gox -os="linux" -arch="arm" -output="../../dist/mobius_server_linux_arm/mobius_server"
56 cd ../mobius-hotline-client
57 gox -os="linux" -arch="amd64" -output="../../dist/mobius_client_linux_amd64/mobius_client"
58 gox -os="darwin" -arch="amd64" -output="../../dist/mobius_client_darwin_amd64/mobius_client"
61 tar -zcvf mobius_server_linux_amd64.tar.gz mobius_server_linux_amd64
62 tar -zcvf mobius_server_darwin_amd64.tar.gz mobius_server_darwin_amd64
63 tar -zcvf mobius_server_linux_arm.tar.gz mobius_server_linux_arm
65 tar -zcvf mobius_client_linux_amd64.tar.gz mobius_client_linux_amd64
66 tar -zcvf mobius_client_darwin_amd64.tar.gz mobius_client_darwin_amd64
71 tag=$(semantics --output-tag)
73 ghr -t $GITHUB_TOKEN -u $CIRCLE_PROJECT_USERNAME -r $CIRCLE_PROJECT_REPONAME --replace $tag dist/
75 echo "The commit message(s) did not indicate a major/minor/patch version."