diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 67ccdc9d..5307d25c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,43 +1,14 @@ -include: - #- local: 'ci_templates/.cic-template.yml' #kaniko build templates - # these includes are app specific unit tests - - local: 'apps/cic-eth/.gitlab-ci.yml' - - local: 'apps/cic-ussd/.gitlab-ci.yml' - - local: 'apps/cic-notify/.gitlab-ci.yml' - - local: 'apps/cic-meta/.gitlab-ci.yml' - - local: 'apps/cic-cache/.gitlab-ci.yml' - #- local: 'apps/contract-migration/.gitlab-ci.yml' - #- local: 'apps/data-seeding/.gitlab-ci.yml' - -stages: - - build - - test - - deploy - -image: registry.gitlab.com/grassrootseconomics/cic-internal-integration/docker-with-compose:latest +default: + image: docker:latest + tags: + - cic-runner variables: + REGISTRY: registry.gitlab.com/kamikazechaser/cic-monorepo DOCKER_BUILDKIT: "1" - COMPOSE_DOCKER_CLI_BUILD: "1" - CI_DEBUG_TRACE: "true" before_script: - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY -# runs on protected branches and pushes to repo -build-push: - stage: build - tags: - - integration - #script: - # - TAG=$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA sh ./scripts/build-push.sh - script: - - TAG=latest sh ./scripts/build-push.sh - rules: - - if: $CI_COMMIT_REF_PROTECTED == "true" - when: always - -deploy-dev: - stage: deploy - trigger: grassrootseconomics/devops - when: manual +include: + - local: 'apps/cic-eth/.gitlab-ci.yml' \ No newline at end of file diff --git a/apps/cic-eth/.gitlab-ci.yml b/apps/cic-eth/.gitlab-ci.yml index fd609ed9..62335cdd 100644 --- a/apps/cic-eth/.gitlab-ci.yml +++ b/apps/cic-eth/.gitlab-ci.yml @@ -1,16 +1,33 @@ -build-test-cic-eth: - stage: test - tags: - - integration - variables: - APP_NAME: cic-eth - MR_IMAGE_TAG: mr-$APP_NAME-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA +stages: + - build-push + - test + +variables: + APP_NAME: cic-eth + +workflow: + rules: + - changes: + - apps/$APP_NAME/**/* + +cic-eth:build-push: + stage: build-push script: - - cd apps/cic-eth - - docker build -t $MR_IMAGE_TAG -f docker/Dockerfile . - - docker run $MR_IMAGE_TAG sh docker/run_tests.sh + - cd apps/$APP_NAME + - docker pull $REGISTRY/$APP_NAME:latest || true + - docker build --cache-from $REGISTRY/$APP_NAME:latest -t $REGISTRY/$APP_NAME:$CI_COMMIT_SHORT_SHA -f docker/Dockerfile . + - docker push $REGISTRY/$APP_NAME --all-tags + rules: + - if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_REF_PROTECTED == "true" + +cic-eth:test: + variables: + GIT_STRATEGY: none + stage: test + needs: ["cic-eth:build-push"] + variables: + allow_failure: true + script: + - docker run $REGISTRY/$APP_NAME:$CI_COMMIT_SHORT_SHA sh docker/run_tests.sh rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" - changes: - - apps/$APP_NAME/**/* - when: always