default:
  tags:
    - origin:eclipse

stages:
  - build
  - test
  
build:
  stage: build
  image: golang:1.22
  script:
    - cd components/hdar-ctl/
    - go mod tidy
    - GOOS=linux GARCH=amd64 CGO_ENABLED=0 go build -v -a -installsuffix cgo -o hdarctl .
    - cd ../hdar-api/
    - go mod tidy
    - GOOS=linux GARCH=amd64 CGO_ENABLED=0 go build -v -a -installsuffix cgo -o hdarapi .
    - cd ../hdav-listeners/
    - go mod tidy
    - GOOS=linux GARCH=amd64 CGO_ENABLED=0 go build -v -a -installsuffix cgo -o hdarapi .

test:
  stage: test
  image: golang:1.22
  script:
    - cd components/hdar-ctl/
    - go fmt $(go list ./... | grep -v /vendor/)
    - go vet $(go list ./... | grep -v /vendor/)
    - go test $(go list ./... | grep -v /vendor/)
    - cd ../hdar-api/
    - go fmt $(go list ./... | grep -v /vendor/)
    - go vet $(go list ./... | grep -v /vendor/)
    - go test $(go list ./... | grep -v /vendor/)
    - cd ../hdav-listeners/
    - go fmt $(go list ./... | grep -v /vendor/)
    - go vet $(go list ./... | grep -v /vendor/)
    - go test $(go list ./... | grep -v /vendor/)