.gitlab-ci.yml 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. variables:
  2. GOPROJ: "github.com/RaveNoX/go-jsonmerge"
  3. stages:
  4. - test
  5. - build
  6. test:
  7. tags:
  8. - docker
  9. - linux
  10. image: golang:latest
  11. stage: test
  12. script:
  13. - mkdir -p artifacts
  14. - go test -cover -v -coverprofile="./artifacts/cover.out" ./
  15. - go tool cover -html="./artifacts/cover.out" -o "./artifacts/cover.htm"
  16. - go test -cover -v -coverprofile="./artifacts/cover_cmd.out" ./cmd/jsonmerge
  17. - go tool cover -html="./artifacts/cover_cmd.out" -o "./artifacts/cover_cmd.htm"
  18. artifacts:
  19. paths:
  20. - artifacts/*
  21. build:
  22. stage: build
  23. tags:
  24. - docker
  25. - linux
  26. image: golang:latest
  27. script:
  28. - mkdir -p artifacts
  29. - echo "Building for Linux"
  30. - GOOS=linux GOARCH=amd64 go build -o artifacts/jsonmerge ./cmd/jsonmerge
  31. - echo "Building for MacOS (darwin)"
  32. - GOOS=darwin GOARCH=amd64 go build -o artifacts/jsonmerge_darwin ./cmd/jsonmerge
  33. - echo "Building for Windows"
  34. - GOOS=windows GOARCH=amd64 go build -o artifacts/jsonmerge.exe ./cmd/jsonmerge
  35. artifacts:
  36. paths:
  37. - artifacts/*