stages: - test - build variables: GO_VERSION: "1.25" .go-cache: image: golang:${GO_VERSION}-alpine before_script: - apk add --no-cache git cache: key: go-mod-cache paths: - .go-cache/ variables: GOPATH: "$CI_PROJECT_DIR/.go-cache" # ---------- omnix-broadcast ---------- test:omnix-broadcast: stage: test extends: .go-cache script: - cd services/omnix-broadcast - go vet ./... - go test ./tests/... -v rules: - changes: - framework/**/* - services/omnix-broadcast/**/* - go.work - go.work.sum build:omnix-broadcast: stage: build image: docker:24 services: - docker:24-dind script: - docker build -f deployments/docker/omnix-broadcast/Dockerfile -t "$CI_REGISTRY_IMAGE/omnix-broadcast:$CI_COMMIT_SHORT_SHA" . - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY" - docker push "$CI_REGISTRY_IMAGE/omnix-broadcast:$CI_COMMIT_SHORT_SHA" rules: - if: '$CI_COMMIT_BRANCH == "main"' changes: - framework/**/* - services/omnix-broadcast/**/* - go.work - go.work.sum # ---------- template-service ---------- test:template-service: stage: test extends: .go-cache script: - cd services/template-service - go vet ./... - go test ./tests/... -v rules: - changes: - framework/**/* - services/template-service/**/* - go.work - go.work.sum build:template-service: stage: build image: docker:24 services: - docker:24-dind script: - docker build -f deployments/docker/template-service/Dockerfile -t "$CI_REGISTRY_IMAGE/template-service:$CI_COMMIT_SHORT_SHA" . - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY" - docker push "$CI_REGISTRY_IMAGE/template-service:$CI_COMMIT_SHORT_SHA" rules: - if: '$CI_COMMIT_BRANCH == "main"' changes: - framework/**/* - services/template-service/**/* - go.work - go.work.sum