84 lines
2.0 KiB
YAML
84 lines
2.0 KiB
YAML
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
|