Skip to content
Snippets Groups Projects
.gitlab-ci.yml 14.22 KiB
stages:
  - test
  - release
  - build

services:
  - name: ghcr.io/griefed/gitlab-ci-cd:2.2.12
    alias: docker
    command: ["--experimental"]

image: ghcr.io/griefed/gitlab-ci-cd:2.2.12

variables:
  project_name: $CI_PROJECT_NAME
  SEMANTIC_RELEASE_PACKAGE: $CI_PROJECT_NAME
  FOCAL_RELEASE_DATE: "current"
  OVERLAY_VERSION: "v2.2.0.3"

workflow:
  rules:
    - if: '$CI_MERGE_REQUEST_EVENT_TYPE == "detached"'
      when: never
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
      when: never
    - when: always

test docker:
  stage: test
  before_script:
    - docker login -u "$DOCKERHUB_USER" -p "$DOCKERHUB_TOKEN" docker.io
    - docker login -u "$DOCKERHUB_USER" -p "$GITHUB_TOKEN" ghcr.io
  script:
    - echo "**** Build amd64 ****"
    - docker build
      --no-cache
      --tag "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-develop"
      --tag "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-develop"
      --build-arg FOCAL_ARCH=amd64
      --build-arg FOCAL_RELEASE_DATE="$FOCAL_RELEASE_DATE"
      --build-arg BUILD_DATE="$CI_PIPELINE_CREATED_AT"
      --build-arg VERSION="$CI_COMMIT_SHORT_SHA"
      --build-arg OVERLAY_VERSION="$OVERLAY_VERSION"
      --build-arg OVERLAY_ARCH=amd64 .
    - docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-develop"
    - docker push "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-develop"
    - echo "**** Build armhf ****"
    - docker build
      --no-cache
      --tag "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-develop"
      --tag "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-develop"
      --build-arg FOCAL_ARCH=armhf
      --build-arg FOCAL_RELEASE_DATE="$FOCAL_RELEASE_DATE"
      --build-arg BUILD_DATE="$CI_PIPELINE_CREATED_AT"
      --build-arg VERSION="$CI_COMMIT_SHORT_SHA"
      --build-arg OVERLAY_VERSION="$OVERLAY_VERSION"
      --build-arg OVERLAY_ARCH=arm .
    - docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-develop"
    - docker push "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-develop"
    - echo "**** Build arm64 ****"
    - docker build
      --no-cache
      --tag "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-develop"
      --tag "ghcr.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-develop"
      --build-arg FOCAL_ARCH=arm64
      --build-arg FOCAL_RELEASE_DATE="$FOCAL_RELEASE_DATE"
      --build-arg BUILD_DATE="$CI_PIPELINE_CREATED_AT"
      --build-arg VERSION="$CI_COMMIT_SHORT_SHA"
      --build-arg OVERLAY_VERSION="$OVERLAY_VERSION"
      --build-arg OVERLAY_ARCH=aarch64 .
    - docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-develop"