Merge redundant building stage and fix badge generation

This commit is contained in:
Tanguy Herbron 2022-05-21 20:42:43 +02:00
parent a8561b6a1d
commit 6118cf01fc

View File

@ -1,23 +1,6 @@
stages: stages:
- prep
- build - build
fetch-versions:
image: bash:latest
stage: prep
script:
- apk add git curl jq
- echo "export NEED_UPDATE=false" > .env.update
- git clone https://gitlab.com/gitlab-org/omnibus-gitlab
- cd omnibus-gitlab
- "HALIA_VER=$(curl --request GET -L --header 'Accept: application/json' --header 'Content-Type: application/json' https://git.halia.dev/api/v4/projects/24/registry/repositories/6/tags | jq -r '.[].location' | grep -v latest | cut -d ':' -f2 | sort -V | tail -1)"
- "GITLAB_VER=$(git tag | sort -V | grep -v rc | grep ce | tail -1 | cut -d '+' -f1)"
- if [ $HALIA_VER != $GITLAB_VER ]; then echo "export NEED_UPDATE=true" > ../.env.update; fi
artifacts:
paths:
- .env.update
expire_in: 1 week
build-image: build-image:
image: docker:latest image: docker:latest
stage: build stage: build
@ -25,12 +8,15 @@ build-image:
- name: docker:dind - name: docker:dind
script: script:
- source .env.update - source .env.update
- wget "https://img.shields.io/badge/image version-$GITLAB_SHORT_VER-informational" -O ../../image_version.svg
- if [ "$NEED_UPDATE" = false ]; then exit 0; fi - if [ "$NEED_UPDATE" = false ]; then exit 0; fi
- apk add git wget - apk add git wget curl jq
- git clone https://gitlab.com/gitlab-org/omnibus-gitlab - git clone https://gitlab.com/gitlab-org/omnibus-gitlab
- cd omnibus-gitlab - cd omnibus-gitlab
- "HALIA_VER=$(curl --request GET -L --header 'Accept: application/json' --header 'Content-Type: application/json' https://git.halia.dev/api/v4/projects/24/registry/repositories/6/tags | jq -r '.[].location' | grep -v latest | cut -d ':' -f2 | sort -V | tail -1)"
- "GITLAB_VER=$(git tag | sort -V | grep -v rc | grep ce | tail -1)" - "GITLAB_VER=$(git tag | sort -V | grep -v rc | grep ce | tail -1)"
- "GITLAB_SHORT_VER=$(echo $GITLAB_VER | cut -d '+' -f 1)" - "GITLAB_SHORT_VER=$(echo $GITLAB_VER | cut -d '+' -f 1)"
- if [ $HALIA_VER != $GITLAB_VER ]; then echo "No update available, exciting..."; exit 0; fi
- git checkout $GITLAB_VER - git checkout $GITLAB_VER
- "GITLAB_VER=$(echo $GITLAB_VER | tr '+' -)" - "GITLAB_VER=$(echo $GITLAB_VER | tr '+' -)"
- NEW_URL="wget --no-check-certificate --content-disposition 'https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/focal/gitlab-ce_${GITLAB_VER}_arm64.deb/download.deb' -O /tmp/gitlab.deb" - NEW_URL="wget --no-check-certificate --content-disposition 'https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/focal/gitlab-ce_${GITLAB_VER}_arm64.deb/download.deb' -O /tmp/gitlab.deb"
@ -43,7 +29,6 @@ build-image:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker build -t $CI_REGISTRY/athens-school/gitlab:$GITLAB_SHORT_VER . - docker build -t $CI_REGISTRY/athens-school/gitlab:$GITLAB_SHORT_VER .
- docker push $CI_REGISTRY/athens-school/gitlab:$GITLAB_SHORT_VER - docker push $CI_REGISTRY/athens-school/gitlab:$GITLAB_SHORT_VER
- wget "https://img.shields.io/badge/image version-$GITLAB_SHORT_VER-informational" -O ../../image_version.svg
artifacts: artifacts:
paths: paths:
- image_version.svg - image_version.svg