https://gitlab.opengeosys.org/ogs/ogs.git
Raw File
Tip revision: 840bc125b0e9964a26fb49a41a54f50d6f24d9ed authored by Lars Bilke on 22 February 2021, 07:46:40 UTC
[ci] Optimized job order for faster coverage.
Tip revision: 840bc12
build_image.yml
build container images:
  stage: .pre
  rules:
    - if: $CI_COMMIT_BRANCH =~ /^v[0-9]\.[0-9]\.[0-9]/
      when: never
    - if: '$CI_PROJECT_NAMESPACE == "endjunction" || $CI_PROJECT_NAMESPACE == "bilke" || $CI_PROJECT_NAMESPACE == "ogs"'
      changes:
      - ThirdParty/container-maker
      - scripts/ci/jobs/build_image.yml
  tags: [envinf1-shell]
  extends: .container-maker-setup
  script:
    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
    - poetry run ogscm compiler.py ogs.py --build --ogs off
      --pm system --cvode --cppcheck --docs --gcovr --tfel --ccache
      --tag $CONTAINER_GCC_IMAGE --upload
    - poetry run ogscm compiler.py ogs.py --build --ogs off
      --pm system --cvode --cppcheck --docs --gcovr --gui --ccache
      --tag $CONTAINER_GCC_GUI_IMAGE --upload
    - poetry run ogscm compiler.py ogs.py --build --ogs off
      --compiler clang --compiler_version 9 --ccache
      --tag $CONTAINER_CLANG_IMAGE --upload

### global project images ###
build xunit-to-junit image:
  stage: .pre
  rules:
    - if: $CI_COMMIT_BRANCH =~ /^v[0-9]\.[0-9]\.[0-9]/
      when: never
    - if: '$CI_PROJECT_NAMESPACE == "bilke" || $CI_PROJECT_NAMESPACE == "ogs"'
      changes:
      - scripts/docker/saxon/**/*
      - scripts/ci/jobs/build_image.yml
  tags:
    - envinf1-shell
  script:
    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
    - docker build --cache-from $XUNIT_TO_JUNIT_IMAGE -t $XUNIT_TO_JUNIT_IMAGE -f scripts/docker/saxon/Dockerfile scripts/docker/saxon
    - docker push $XUNIT_TO_JUNIT_IMAGE


build pre-commit image:
  stage: .pre
  rules:
    - if: $CI_COMMIT_BRANCH =~ /^v[0-9]\.[0-9]\.[0-9]/
      when: never
    - if: '$CI_PROJECT_NAMESPACE == "bilke" || $CI_PROJECT_NAMESPACE == "ogs"'
      changes:
      - scripts/docker/Dockerfile.pre-commit
      - scripts/ci/jobs/build_image.yml
  tags:
    - envinf1-shell
  script:
    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
    - docker build --cache-from $PRECOMMIT_IMAGE -t $PRECOMMIT_IMAGE -f scripts/docker/Dockerfile.pre-commit scripts/docker
    - docker push $PRECOMMIT_IMAGE

build web image:
  stage: .pre
  rules:
    - if: $CI_COMMIT_BRANCH =~ /^v[0-9]\.[0-9]\.[0-9]/
      when: never
    - if: '$CI_PROJECT_NAMESPACE == "bilke" || $CI_PROJECT_NAMESPACE == "ogs"'
      changes:
      - scripts/docker/Dockerfile.web
      - scripts/ci/jobs/build_image.yml
  tags:
    - envinf1-shell
  script:
    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
    - docker build --cache-from $WEB_IMAGE -t $WEB_IMAGE -f scripts/docker/Dockerfile.web scripts/docker
    - docker push $WEB_IMAGE
back to top