build:
working_directory: ~/repo
docker:
- - image: cimg/go:1.16.6
+ - image: cimg/go:1.22.1
steps:
- checkout
# - restore_cache:
deploy:
docker:
- - image: cimg/go:1.16.6
+ - image: cimg/go:1.22.1
# 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: go install github.com/tcnksm/ghr@latest
+ - run: go install github.com/stevenmatthewt/semantics@latest
- run:
name: cross compile
command: |
- mkdir dist
- mkdir dist/mobius_server_linux_amd64
- mkdir dist/mobius_server_darwin_amd64
- mkdir dist/mobius_server_linux_arm
-
- cd cmd/server
-
- cp -r mobius/config ../../dist/mobius_server_linux_amd64/config
- cp -r mobius/config ../../dist/mobius_server_darwin_amd64/config
- cp -r mobius/config ../../dist/mobius_server_linux_arm/config
-
- gox -os="linux" -arch="amd64" -output="../../dist/mobius_server_linux_amd64/mobius_server"
- gox -os="darwin" -arch="amd64" -output="../../dist/mobius_server_darwin_amd64/mobius_server"
- gox -os="linux" -arch="arm" -output="../../dist/mobius_server_linux_arm/mobius_server"
-
- cd ../client
- gox -os="linux" -arch="amd64" -output="../../dist/mobius_client_linux_amd64/mobius_client"
- gox -os="darwin" -arch="amd64" -output="../../dist/mobius_client_darwin_amd64/mobius_client"
-
- cd ../../dist
- tar -zcvf mobius_server_linux_amd64.tar.gz mobius_server_linux_amd64
- tar -zcvf mobius_server_darwin_amd64.tar.gz mobius_server_darwin_amd64
- tar -zcvf mobius_server_linux_arm.tar.gz mobius_server_linux_arm
- tar -zcvf mobius_client_linux_amd64.tar.gz mobius_client_linux_amd64
- tar -zcvf mobius_client_darwin_amd64.tar.gz mobius_client_darwin_amd64
+ make all
- add_ssh_keys
- run:
name: create release
command: |
- tag=$(semantics --output-tag)
+ tag=$(/home/circleci/go/bin/semantics --output-tag)
if [ "$tag" ]; then
- ghr -t $GITHUB_TOKEN -u $CIRCLE_PROJECT_USERNAME -r $CIRCLE_PROJECT_REPONAME --replace $tag dist/
+ /home/circleci/go/bin/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