diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 21c9c53ee7bc7f279ec13cbef800ca0981e531ed..8be13ac43f6e09405c89a615f880fdac8cbe49ea 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -10,7 +10,6 @@ variables: stages: - buildbucket_build - gridded_glm_build - - gridded_glm_tester_build - test - release @@ -38,13 +37,42 @@ create the Gridded GLM package: # Creates the gridded GLM package - docker run --rm -v "${PWD}":/dock -v $PWD:/work/cspp-geo-gridded-glm $BUILDBUCKET_IMAGE:$CI_COMMIT_SHORT_SHA ./package.sh $CI_COMMIT_SHORT_SHA # Create a simple Docker image with the gridded GLM package included - # TODO: this should probably be its own stage? + # (the below Dockerfile is created by ./package.sh) - docker build . -f Dockerfile -t $GRIDDED_GLM_IMAGE:$CI_COMMIT_SHORT_SHA - docker push $GRIDDED_GLM_IMAGE:$CI_COMMIT_SHORT_SHA # worry about this later; rsync isn't available in busybox. we probably need some refactoring to use a build image more directly & upload from there. # # upload the package to /apollo/ via a limited-use key on espresso # - rsync -auv -e "ssh -T -o StrictHostKeyChecking=no -o IdentitiesOnly=yes -o ForwardAgent=no -i $NICKB_UPLOAD_KEY" cspp-geo-gridded-glm-$CI_COMMIT_SHORT_SHA.tar.xz nickb@espresso:/apollo/csppgeo/packages/gridded-glm/ci/cspp-geo-gridded-glm-$CI_COMMIT_SHORT_SHA.tar.xz +run tests: + stage: test + image: $GRIDDED_GLM_IMAGE:$CI_COMMIT_SHORT_SHA + tags: + - docker + script: + # $CSPP_GEO_GGLM_HOME is set in + - $CSPP_GEO_GGLM_HOME/bin/cspp-geo-gglm.sh --help # smoke test + +push our images with version tags: + stage: release + image: docker:19.03.1 + tags: + - docker + services: + - docker:19.03.1-dind + rules: + - if: '$CI_COMMIT_TAG' + script: + - docker login --username $CI_REGISTRY_USER --password $CI_REGISTRY_PASSWORD $CI_REGISTRY +# buildbucket + - docker pull $BUILDBUCKET_IMAGE:$CI_COMMIT_SHORT_SHA + - if [ $CI_COMMIT_TAG != '' ]; then docker tag $BUILDBUCKET_IMAGE:$CI_COMMIT_SHORT_SHA $BUILDBUCKET_IMAGE:$CI_COMMIT_TAG; fi + - if [ $CI_COMMIT_TAG != '' ]; then docker push $BUILDBUCKET_IMAGE:$CI_COMMIT_TAG; fi +# gridded_glm + - docker pull $GRIDDED_GLM_IMAGE:$CI_COMMIT_SHORT_SHA + - if [ $CI_COMMIT_TAG != '' ]; then docker tag $GRIDDED_GLM_IMAGE:$CI_COMMIT_SHORT_SHA $GRIDDED_GLM_IMAGE:$CI_COMMIT_TAG; fi + - if [ $CI_COMMIT_TAG != '' ]; then docker push $GRIDDED_GLM_IMAGE:$CI_COMMIT_TAG; fi + push our images as latest tags: stage: release image: docker:19.03.1