build-test-linux-amd64: image: golang:latest stage: build-binary variables: GOOS: "linux" GOARCH: "amd64" CGO_ENABLED: 0 before_script: - go get -d -v ./... - apt install curl -y script: - go build -a -installsuffix cgo -ldflags="-X $I_PACKAGE.CI_COMMIT_SHORT_SHA=$CI_COMMIT_SHORT_SHA -X $I_PACKAGE.CI_COMMIT_BRANCH=$CI_COMMIT_BRANCH -X $I_PACKAGE.CI_COMMIT_TAG=$CI_COMMIT_TAG" -o linux-amd64 . only: - main artifacts: paths: - linux-amd64 expire_in: 1 week docker-build-prod-latest: image: jdrouet/docker-with-buildx:stable stage: build-docker services: - docker:dind before_script: - docker context create build - docker buildx create build --use - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - | docker buildx build \ --platform linux/amd64,linux/arm64 \ --build-arg CI_COMMIT_BRANCH=$CI_COMMIT_BRANCH \ --build-arg CI_COMMIT_SHORT_SHA=$CI_COMMIT_SHORT_SHA \ --build-arg CI_COMMIT_TAG=$CI_COMMIT_TAG \ --push \ --tag $CI_REGISTRY_IMAGE:latest \ . only: - main pages: stage: deploy image: python:alpine script: - pip install --no-cache-dir -r mkdocs-req.txt - python -m mkdocs build --strict --verbose artifacts: paths: - public rules: - if: $CI_COMMIT_REF_NAME == "main"