github.com/mattermost/mattermost-server/v5@v5.39.3/.gitlab-ci.yml (about)

     1  stages:
     2    - test
     3    - build
     4    - publish
     5    - create-vars
     6    - trigger-build-ee
     7  
     8  include:
     9    - project: mattermost/ci/mattermost-server
    10      ref: release-5.39
    11      file: private.yml
    12  
    13  variables:
    14    BUILD: "yes"
    15    IMAGE_BUILD_SERVER: $CI_REGISTRY/mattermost/ci/images/mattermost-build-server:20210810_golang-1.16.7
    16    IMAGE_BUILD_DOCKER: $CI_REGISTRY/mattermost/ci/images/mattermost-build-docker:19.03.14-1
    17    IMAGE_DIND: $CI_REGISTRY/mattermost/ci/images/docker-dind:19.03.14-1
    18  
    19  empty:
    20    stage: create-vars
    21    script:
    22      - echo "empty"
    23  
    24  .lint: # Commenting this job, because it is run in CircleCI
    25    image: $CI_REGISTRY/mattermost/ci/images/golangci-lint:v1.39.0-1
    26    stage: test
    27    script:
    28      - GO111MODULE=off GOBIN=$PWD/bin go get -u github.com/mattermost/mattermost-govet
    29      - make config-reset
    30      - make check-style #todo MM_VET_OPENSPEC_PATH='$CI_PROJECT_DIR/mattermost-api-reference/v4/html/static/mattermost-openapi-v4.yaml'
    31    timeout: 60 mins
    32    rules:
    33      - if: '$CI_COMMIT_REF_NAME == "master"'
    34  
    35  .layers: # Commenting this job, because it is run in CircleCI
    36    image: $IMAGE_BUILD_SERVER
    37    stage: test
    38    script:
    39      - make store-layers
    40      - if [[ -n $(git status --porcelain) ]]; then echo "Please update the store layers using make store-layers"; exit 1; fi
    41      - git reset --hard
    42      - make app-layers
    43      - if [[ -n $(git status --porcelain) ]]; then echo "Please update the app layers using make app-layers"; exit 1; fi
    44      - git reset --hard
    45    rules:
    46      - if: '$CI_COMMIT_REF_NAME == "master"'
    47  
    48  .test-mysql: # Commenting this job, because it is run in CircleCI
    49    stage: test
    50    image: $IMAGE_BUILD_DOCKER
    51    services:
    52      - name: $IMAGE_DIND
    53        alias: docker
    54    variables:
    55      DOCKER_TLS_CERTDIR: ""
    56      DOCKER_HOST: tcp://docker:2375
    57      DOCKER_DRIVER: overlay2
    58      DOCKER_CONTENT_TRUST: 0
    59      DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE: ""
    60    before_script:
    61      - docker login ${CI_REGISTRY} --username ${CI_REGISTRY_USER} --password ${CI_REGISTRY_PASSWORD}
    62    script:
    63      - export COMPOSE_PROJECT_NAME="${CI_PIPELINE_IID}mysql"
    64      - export RACE_MODE=""
    65      - time cat .gitlab-ci/scripts/test/mysql.sh | /bin/bash
    66    artifacts:
    67      when: always
    68      reports:
    69        junit: report.xml
    70      paths:
    71        - build/logs
    72    timeout: 2 hours
    73    tags:
    74      - k8s-memory
    75    rules:
    76      - if: '$CI_COMMIT_REF_NAME == "master"'
    77  
    78  .test-postgres: # Commenting this job, because it is run in CircleCI
    79    stage: test
    80    image: $IMAGE_BUILD_DOCKER
    81    services:
    82      - name: $IMAGE_DIND
    83        alias: docker
    84    variables:
    85      DOCKER_TLS_CERTDIR: ""
    86      DOCKER_HOST: tcp://docker:2375
    87      DOCKER_DRIVER: overlay2
    88      DOCKER_CONTENT_TRUST: 0
    89      DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE: ""
    90    before_script:
    91      - docker login ${CI_REGISTRY} --username ${CI_REGISTRY_USER} --password ${CI_REGISTRY_PASSWORD}
    92    script:
    93      - export COMPOSE_PROJECT_NAME="${CI_PIPELINE_IID}postgres"
    94      - export RACE_MODE=""
    95      - time cat .gitlab-ci/scripts/test/postgres.sh | /bin/bash
    96    artifacts:
    97      when: always
    98      reports:
    99        junit: report.xml
   100      paths:
   101        - build/logs
   102    timeout: 2 hours
   103    tags:
   104      - k8s-memory
   105    rules:
   106      - if: '$CI_COMMIT_REF_NAME == "master"'
   107  
   108  test-schema-mysql:
   109    stage: test
   110    image: $IMAGE_BUILD_DOCKER
   111    services:
   112      - name: $IMAGE_DIND
   113        alias: docker
   114    variables:
   115      DOCKER_TLS_CERTDIR: ""
   116      DOCKER_HOST: tcp://docker:2375
   117      DOCKER_DRIVER: overlay2
   118      DOCKER_CONTENT_TRUST: 0
   119      DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE: ""
   120    before_script:
   121      - docker login ${CI_REGISTRY} --username ${CI_REGISTRY_USER} --password ${CI_REGISTRY_PASSWORD}
   122    script:
   123      - export COMPOSE_PROJECT_NAME="${CI_PIPELINE_IID}schemamysql"
   124      - time cat .gitlab-ci/scripts/test-schema/mysql.sh | /bin/bash
   125    tags:
   126      - k8s-memory
   127    rules:
   128      - if: '$CI_COMMIT_REF_NAME == "master"'
   129      - if: '$CI_COMMIT_REF_NAME == "cloud"'
   130      - if: '$CI_COMMIT_REF_NAME =~ /^release-/'
   131  
   132  test-schema-postgres:
   133    stage: test
   134    image: $IMAGE_BUILD_DOCKER
   135    services:
   136      - name: $IMAGE_DIND
   137        alias: docker
   138    variables:
   139      DOCKER_TLS_CERTDIR: ""
   140      DOCKER_HOST: tcp://docker:2375
   141      DOCKER_DRIVER: overlay2
   142      DOCKER_CONTENT_TRUST: 0
   143      DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE: ""
   144    before_script:
   145      - docker login ${CI_REGISTRY} --username ${CI_REGISTRY_USER} --password ${CI_REGISTRY_PASSWORD}
   146    script:
   147      - export COMPOSE_PROJECT_NAME="${CI_PIPELINE_IID}schemapostgres"
   148      - time cat .gitlab-ci/scripts/test-schema/postgres.sh | /bin/bash
   149    tags:
   150      - k8s-memory
   151    rules:
   152      - if: '$CI_COMMIT_REF_NAME == "master"'
   153      - if: '$CI_COMMIT_REF_NAME == "cloud"'
   154      - if: '$CI_COMMIT_REF_NAME =~ /^release-/'