From f37d089a42d4738bcf24888c470d2856270556d5 Mon Sep 17 00:00:00 2001 From: Kalin Daskalov <kalin.daskalov@vereign.com> Date: Wed, 5 Jun 2024 10:42:40 +0300 Subject: [PATCH] Update .gitlab-ci.yml to include svdh-cicd.yml and update Docker file for CI build --- .gitlab-ci.yml | 64 ++++++++++++++++++++++++---------------- deployment/ci/Dockerfile | 4 +-- 2 files changed, 40 insertions(+), 28 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2571797..d9a7d07 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,20 +1,16 @@ +include: + - project: '${HELPERS_PATH}' + file: svdh-cicd.yml + variables: - HELPERS_FILE: docker-build.yml - APP_HELM_NAME: infohub - DOCKER_FILE: deployment/ci/Dockerfile + RUNNER_AMD: amd64-docker + DOCKER_FILE: ./deployment/ci/Dockerfile + GO_VERSION: 1.22.4 stages: - - compile - test - build - - manifest - - deploy - -include: - - project: '${HELPERS_PATH}' - file: '${HELPERS_FILE}' - - template: 'Workflows/Branch-Pipelines.gitlab-ci.yml' - + - trigger-deploy lint: image: golangci/golangci-lint:v1.50.1 stage: test @@ -28,7 +24,7 @@ lint: - cd /go/src/gitlab.com/${CI_PROJECT_PATH} unit tests: - image: golang:1.20.5 + image: golang:${GO_VERSION} extends: .gotest stage: test tags: @@ -37,7 +33,7 @@ unit tests: coverage: '/total:\s+\(statements\)\s+(\d+.\d+\%)/' govulncheck: - image: golang:1.20.5 + image: golang:${GO_VERSION} stage: test tags: - amd64-docker @@ -49,21 +45,37 @@ govulncheck: - go install golang.org/x/vuln/cmd/govulncheck@latest - govulncheck ./... +build-dev: + extends: .docker-build-dev + stage: build + tags: + - $RUNNER_AMD + rules: + # Only run if the branch is not main, the pipeline is not triggered by a merge request and the commit is not a tag + - if: '$CI_COMMIT_BRANCH != "main" && $CI_PIPELINE_SOURCE != "merge_request_event" && $CI_COMMIT_TAG == null' -amd64: - extends: .docker-build +build-stg: + extends: .docker-build-dev stage: build tags: - - amd64-docker + - $RUNNER_AMD + rules: + - if: '$CI_COMMIT_TAG' -manifest: - extends: .manifest-amd64 - stage: manifest +deploy-dev: + extends: .deploy-dev + stage: trigger-deploy + needs: + - job: build-dev + rules: + # Only run if the branch is not main, the pipeline is not triggered by a merge request and the commit is not a tag + - if: '$CI_COMMIT_BRANCH != "main" && $CI_PIPELINE_SOURCE != "merge_request_event" && $CI_COMMIT_TAG == null' -cloud: - extends: .manifest-cloud - stage: manifest -release: - extends: .manifest-release - stage: manifest +deploy-stg: + extends: .deploy-stg + stage: trigger-deploy + needs: + - job: build-stg + rules: + - if: '$CI_COMMIT_TAG' \ No newline at end of file diff --git a/deployment/ci/Dockerfile b/deployment/ci/Dockerfile index d592467..20ed375 100644 --- a/deployment/ci/Dockerfile +++ b/deployment/ci/Dockerfile @@ -4,11 +4,11 @@ RUN apk add git WORKDIR /go/src/gitlab.eclipse.org/eclipse/xfsc/tsa/infohub -ARG APP_REPO_TAG +ARG APP_VER ADD . . -RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-X main.Version=$APP_REPO_TAG" -mod=vendor -o /tmp/infohub ./cmd/infohub/... +RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-X main.Version=$APP_VER" -mod=vendor -o /tmp/infohub ./cmd/infohub/... FROM alpine:3.17 as runner -- GitLab