goshorly/.gitlab/ci/main-branch.yml
2022-02-04 23:02:25 +01:00

52 lines
1.3 KiB
YAML

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"