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