diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1d3092d..e8927fd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,28 +1,37 @@ -# This file is a template, and might need editing before it works on your project. -docker-build-master: - # Official docker image. - image: docker:latest - stage: build +stages: + - build + - test + - release + +variables: + CONTAINER_TEST_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG + CONTAINER_RELEASE_IMAGE: $CI_REGISTRY_IMAGE:latest + +build: + image: docker:19.03.8 services: - - docker:dind - before_script: - - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + - docker:19.03.8-dind + stage: build script: - - docker build --pull -t "$CI_REGISTRY_IMAGE" . - - docker push "$CI_REGISTRY_IMAGE" + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + - docker build --pull -t $CONTAINER_TEST_IMAGE . + - docker push $CONTAINER_TEST_IMAGE + +test-gcc-version: + stage: test + image: $CONTAINER_TEST_IMAGE + script: + - tests/smoke.sh + +release: + image: docker:19.03.8 + services: + - docker:19.03.8-dind + stage: release + script: + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + - docker pull $CONTAINER_TEST_IMAGE + - docker tag $CONTAINER_TEST_IMAGE $CONTAINER_RELEASE_IMAGE + - docker push $CONTAINER_RELEASE_IMAGE only: - master - -docker-build: - # Official docker image. - image: docker:latest - stage: build - services: - - docker:dind - before_script: - - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - script: - - docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" . - - docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" - except: - - master diff --git a/tests/smoke.sh b/tests/smoke.sh new file mode 100755 index 0000000..7241f80 --- /dev/null +++ b/tests/smoke.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +set -ex + +which arm-none-eabi-gcc +arm-none-eabi-gcc -v