diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..7eefdc8 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,39 @@ +# This file is a template, and might need editing before it works on your project. +# You can copy and paste this template into a new `.gitlab-ci.yml` file. +# You should not add this template to an existing `.gitlab-ci.yml` file by using the `include:` keyword. +# +# To contribute improvements to CI/CD templates, please follow the Development guide at: +# https://docs.gitlab.com/ee/development/cicd/templates.html +# This specific template is located at: +# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Go.gitlab-ci.yml + +image: golang:latest + +stages: + - test + - build + - deploy + +format: + stage: test + script: + - go fmt $(go list ./... | grep -v /vendor/) + - go vet $(go list ./... | grep -v /vendor/) + - go test -race $(go list ./... | grep -v /vendor/) + +compile: + stage: build + script: + - mkdir -p bin + - GOOS=windows GOARCH=386 go build -o bin/pinger-32.exe ./... + - GOOS=windows GOARCH=amd64 go build -o bin/pinger-x64.exe ./... + - GOOS=linux GOARCH=386 go build -o bin/pinger-linux-x86 ./... + - GOOS=linux GOARCH=amd64 go build -o bin/pinger-linux-x64 ./... + artifacts: + paths: + - mybinaries + +deploy: + stage: deploy + script: echo "Define your deployment script!" + environment: production