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-/'