70 lines
1.9 KiB
YAML
70 lines
1.9 KiB
YAML
variables:
|
|
- &golang_image 'docker.io/golang:1.24'
|
|
- &buildx_plugin 'docker.io/woodpeckerci/plugin-docker-buildx:6.0.3'
|
|
- &platforms_release 'linux/amd64'
|
|
- &build_args 'CI_COMMIT_SHA=${CI_COMMIT_SHA},CI_COMMIT_BRANCH=${CI_COMMIT_BRANCH},CI_COMMIT_TAG=${CI_COMMIT_TAG}'
|
|
- publish_logins: &publish_logins
|
|
- registry: git.pbiernat.space
|
|
username:
|
|
from_secret: docker_username
|
|
password:
|
|
from_secret: docker_password
|
|
|
|
when:
|
|
- event: [pull_request, tag]
|
|
- event: push
|
|
branch: develop
|
|
|
|
steps:
|
|
- name: vendor
|
|
image: *golang_image
|
|
pull: true
|
|
commands:
|
|
- cd src/ && go mod vendor
|
|
- name: analyze
|
|
image: *golang_image
|
|
depends_on:
|
|
- vendor
|
|
commands:
|
|
- cd src && go vet ./...
|
|
- name: static-check
|
|
image: *golang_image
|
|
depends_on:
|
|
- vendor
|
|
commands:
|
|
- go install honnef.co/go/tools/cmd/staticcheck@latest
|
|
- cd src && staticcheck ./...
|
|
- name: lint
|
|
image: *golang_image
|
|
depends_on:
|
|
- vendor
|
|
commands:
|
|
- echo "Lint"
|
|
- go install golang.org/x/lint/golint@latest
|
|
- golint src/app/... src/cmd/... src/infra/... src/internal/...
|
|
- name: build-image
|
|
image: *buildx_plugin
|
|
depends_on: [vendor, analyze, static-check, lint]
|
|
settings:
|
|
repo: git.pbiernat.space/egommerce/identity-svc
|
|
tag: builder
|
|
dockerfile: deploy/docker/Dockerfile.builder
|
|
logins: *publish_logins
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- name: push-image
|
|
image: *buildx_plugin
|
|
depends_on:
|
|
- build-image
|
|
settings:
|
|
repo: git.pbiernat.space/egommerce/identity-svc
|
|
tag: dev
|
|
build_args:
|
|
BUILDER_IMAGE: git.pbiernat.space/egommerce/identity-svc:builder
|
|
SVC_NAME: "identity-svc"
|
|
SVC_VER: "1.0"
|
|
dockerfile: deploy/docker/Dockerfile.target
|
|
logins: *publish_logins
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|