Skip to content
Snippets Groups Projects
Commit 06c47246 authored by Whitney Armstrong's avatar Whitney Armstrong
Browse files

Build for downstream pipelines

- Using the merge request ID as the docker tag.
- Only running on merge requests
- changed the singularity artifact to only last 1 day
parent d5ffee19
No related tags found
No related merge requests found
......@@ -66,6 +66,12 @@ release-cached: build publish ## Make a release by building and publishing the `
publish: login publish-tag publish-version #publish-version ## Publish the `{version}` ans `latest` tagged containers to ECR
@echo "Publishing done"
publish-latest: ## Publish a tagged container as latest
@echo 'publish $(PUBLISH_TAG) to $(REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME)'
docker tag $(APP_NAME):$(LONG_TAG) $(REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME):latest
docker push $(REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME):latest
docker rmi $(REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME):latest
publish-tag: ## Publish a tagged container to ECR
@echo 'publish $(PUBLISH_TAG) to $(REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME)'
docker tag $(APP_NAME):$(LONG_TAG) $(REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME):$(PUBLISH_TAG)
......
Bootstrap: docker
From: eicweb.phy.anl.gov:4567/eic/juggler/juggler:@JUGGLER_TAG@
%help
singularity container for Juggler development
......@@ -10,7 +8,6 @@ From: eicweb.phy.anl.gov:4567/eic/juggler/juggler:@JUGGLER_TAG@
%labels
Maintainer "Whitney Armstrong, Sylvester Joosten"
Version v1-dev
%post -c /bin/bash
echo " -------------------------------------------------"
......
image: eicweb.phy.anl.gov:4567/containers/image_recipes/ubuntu_dind:latest
variables:
EIC_TAG: "2.5-stable"
JUGGLER_TAG: "testing"
JUGGLER_TAG: "$CI_MERGE_REQUEST_IID"
#default:
# artifacts:
# paths:
# - build/
default:
tags:
- silicon
stages:
#- build
- docker_build
- docker_push
- build
- push
- deploy
compile:
image: eicweb.phy.anl.gov:4567/containers/eic_container/eic:$EIC_TAG
stage: docker_build
#rules:
# - if: '$CI_COMMIT_BRANCH != "master" && $CI_PIPELINE_SOURCE == "merge_request_event"'
tags:
- silicon
script:
- apt-get update && apt-get install -y rsync
- export homedir=$(pwd) && pwd && cd /tmp && git clone --depth=1 https://eicweb.phy.anl.gov/EIC/NPDet.git && mkdir build && cd build && cmake ../NPDet/. && make -j20 install
- cd /tmp && git clone --depth=1 https://eicweb.phy.anl.gov/EIC/eicd.git && mkdir eicd_build && cd eicd_build && cmake ../eicd/. && make -j20 install
- cd $homedir && ls -lrth && mkdir build && cd build && cmake .. && make -j10
- cleanup
workflow:
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
docker:build:
image: eicweb.phy.anl.gov:4567/containers/image_recipes/ubuntu_dind:latest
stage: docker_build
#rules:
# - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
# when: never
# - if: '$CI_COMMIT_BRANCH != "master"'
# when: never
# - when: on_success
tags:
- silicon
stage: build
script:
- echo "$JUGGLER_TAG"
- echo "$CI_MERGE_REQUEST_ID"
- echo "$EIC_TAG"
- ./.gitlabci/configure.sh .containers/docker/Dockerfile.in
- cd .containers/docker
- make build-nc
- make build
docker:push:
image: eicweb.phy.anl.gov:4567/containers/image_recipes/ubuntu_dind:latest
stage: docker_push
stage: push
needs: ["docker:build"]
#rules:
# - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
# when: never
# - if: '$CI_COMMIT_BRANCH != "master"'
# when: never
# - when: on_success
#rules:
# - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
retry:
max: 2
when:
- runner_system_failure
- stuck_or_timeout_failure
tags:
- silicon
script:
- ./.gitlabci/configure.sh .containers/docker/Dockerfile.in
- cd .containers/docker
- make push
docker:release:
image: eicweb.phy.anl.gov:4567/containers/image_recipes/ubuntu_dind:latest
stage: docker_build
rules:
- if: '$CI_COMMIT_TAG'
tags:
- silicon
script:
- ./.gitlabci/configure.sh .containers/docker/Dockerfile.in
- cd .containers/docker && make release
docker:singularity:
image: eicweb.phy.anl.gov:4567/containers/image_recipes/ubuntu_dind:latest
stage: docker_push
needs: ["docker:build"]
#rules:
# - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
# when: never
# - if: '$CI_COMMIT_BRANCH != "master"'
# when: never
# - when: on_success
tags:
- silicon
stage: deploy
needs: ["docker:push"]
#rules:
# - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
script:
- ./.gitlabci/configure.sh .containers/singularity/juggler.def.in
- cp .containers/singularity/juggler.def .
- /bin/bash .gitlabci/build.sh juggler.def
- "header1='Bootstrap: docker'"
- echo $header1 > juggler.def
- "header='From: eicweb.phy.anl.gov:4567/eic/juggler/juggler:'"
- echo -e $header$JUGGLER_TAG >> juggler.def
- cat .containers/singularity/juggler.def.in >> juggler.def
- cat juggler.def
- mkdir -p build
- cp juggler.sif build/.
- singularity build build/juggler.sif juggler.def
- cp juggler.def build/.
artifacts:
expire_in: 90 days
expire_in: 1 days
paths:
- build/juggler.sif
- build/juggler.def
#singularity:push:
# stage: deploy
# when: manual
docker:latest:
stage: build
rules:
- if: '$CI_COMMIT_BRANCH == "master"'
script:
- ./.gitlabci/configure.sh .containers/docker/Dockerfile.in
- cd .containers/docker && make build && make publish-latest
docker:release:
stage: build
rules:
- if: '$CI_COMMIT_TAG'
script:
- ./.gitlabci/configure.sh .containers/docker/Dockerfile.in
- cd .containers/docker && make release
benchmarks:reconstruction:
stage: deploy
trigger:
project: EIC/benchmarks/reconstruction_benchmarks
variables:
JUGGLER_TAG: $JUGGLER_TAG
needs: ["docker:push"]
#rules:
# - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
# when: never
# - if: '$CI_COMMIT_BRANCH != "master"'
# when: never
# - when: on_success
#rules:
# - if: '$CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_BRANCH == "master"'
benchmarks:physics:
stage: deploy
needs: ["docker:push"]
trigger:
project: EIC/benchmarks/physics_benchmarks
variables:
JUGGLER_TAG: $JUGGLER_TAG
needs: ["docker:push"]
#rules:
# - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
#rules:
# - if: '$CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_BRANCH == "master"'
# when: never
# - if: '$CI_COMMIT_BRANCH != "master"'
# when: never
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment