github.com/haalcala/mattermost-server-change-repo@v0.0.0-20210713015153-16753fbeee5f/.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.33 11 file: private.yml 12 # - local: .gitlab-ci/test.yml 13 # - local: .gitlab-ci/test-schema.yml 14 15 variables: 16 BUILD: "yes" 17 TEST: "no" 18 19 empty: 20 stage: create-vars 21 script: 22 - echo "empty" 23 24 #lint: 25 # image: $CI_REGISTRY/mattermost/ci/images/golangci-lint:v1.33.2-1 26 # stage: .pre 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: '$TEST == "yes"' 34 # 35 #layers: 36 # image: $CI_REGISTRY/mattermost/ci/images/mattermost-build-server:20201119_golang-1.15.5 37 # stage: .pre 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: '$TEST == "yes"' 47 # 48 #test-postgres: 49 # extends: .test 50 # tags: 51 # - docker 52 # variables: 53 # MM_SQLSETTINGS_DATASOURCE: "postgres://mmuser:mostest@postgres:5432/mattermost_test?sslmode=disable&connect_timeout=10" 54 # MM_SQLSETTINGS_DRIVERNAME: postgres 55 # rules: 56 # - if: '$TEST == "yes"' 57 # 58 #test-mysql: 59 # extends: .test 60 # tags: 61 # - docker 62 # variables: 63 # MM_SQLSETTINGS_DATASOURCE: "mmuser:mostest@tcp(mysql:3306)/mattermost_test?charset=utf8mb4,utf8&multiStatements=true" 64 # MM_SQLSETTINGS_DRIVERNAME: mysql 65 # rules: 66 # - if: '$TEST == "yes"' 67 # 68 #test-schema-postgres: 69 # extends: .test-schema 70 # tags: 71 # - docker 72 # script: 73 # - echo "Creating databases" 74 # - docker-compose --no-ansi exec -T postgres sh -c 'exec echo "CREATE DATABASE migrated; CREATE DATABASE latest;" | exec psql -U mmuser mattermost_test' 75 # - echo "Importing postgres dump from version 5.0" 76 # - docker-compose --no-ansi exec -T postgres psql -U mmuser -d migrated < ../scripts/mattermost-postgresql-5.0.sql 77 # - > 78 # docker run -d -it --name server-postgres --net build_mm-test \ 79 # --env-file="dotenv/test-schema-validation.env" \ 80 # --env MM_SQLSETTINGS_DATASOURCE="postgres://mmuser:mostest@postgres:5432/migrated?sslmode=disable&connect_timeout=10" \ 81 # --env MM_SQLSETTINGS_DRIVERNAME=postgres \ 82 # -v $CI_PROJECT_DIR:/mattermost-server \ 83 # -w /mattermost-server \ 84 # mattermost/mattermost-build-server:20201119_golang-1.15.5 \ 85 # bash -c "ulimit -n 8096; make ARGS='version' run-cli && make MM_SQLSETTINGS_DATASOURCE='postgres://mmuser:mostest@postgres:5432/latest?sslmode=disable&connect_timeout=10' ARGS='version' run-cli" 86 # - docker logs -f server-postgres 87 # - echo "Generating dump" 88 # - docker-compose --no-ansi exec -T postgres pg_dump --schema-only -d migrated -U mmuser > migrated.sql 89 # - docker-compose --no-ansi exec -T postgres pg_dump --schema-only -d latest -U mmuser > latest.sql 90 # - echo "Removing databases created for db comparison" 91 # - docker-compose --no-ansi exec -T postgres sh -c 'exec echo "DROP DATABASE migrated; DROP DATABASE latest;" | exec psql -U mmuser mattermost_test' 92 # - echo "Generating diff" 93 # - diff migrated.sql latest.sql > diff.txt && echo "Both schemas are same" || (echo "Schema mismatch" && cat diff.txt && exit 1) 94 # rules: 95 # - if: '$TEST == "yes"' 96 # 97 #test-schema-mysql: 98 # extends: .test-schema 99 # tags: 100 # - docker 101 # script: 102 # - echo "Creating databases" 103 # - docker-compose --no-ansi exec -T mysql mysql -uroot -pmostest -e "CREATE DATABASE migrated; CREATE DATABASE latest; GRANT ALL PRIVILEGES ON migrated.* TO mmuser; GRANT ALL PRIVILEGES ON latest.* TO mmuser" 104 # - echo "Importing mysql dump from version 5.0" 105 # - docker-compose --no-ansi exec -T mysql mysql -D migrated -uroot -pmostest < ../scripts/mattermost-mysql-5.0.sql 106 # - > 107 # docker run -d -it --name server-mysql --net build_mm-test \ 108 # --env-file="dotenv/test-schema-validation.env" \ 109 # --env MM_SQLSETTINGS_DATASOURCE="mmuser:mostest@tcp(mysql:3306)/migrated?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s" \ 110 # --env MM_SQLSETTINGS_DRIVERNAME=mysql \ 111 # -v $CI_PROJECT_DIR:/mattermost-server \ 112 # -w /mattermost-server \ 113 # mattermost/mattermost-build-server:20201119_golang-1.15.5 \ 114 # bash -c "ulimit -n 8096; make ARGS='version' run-cli && make MM_SQLSETTINGS_DATASOURCE='mmuser:mostest@tcp(mysql:3306)/latest?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s' ARGS='version' run-cli" 115 # - docker logs -f server-mysql 116 # - echo "Ignoring known MySQL mismatch 'ChannelMembers.SchemeGuest'" 117 # - docker-compose --no-ansi exec -T mysql mysql -D migrated -uroot -pmostest -e "ALTER TABLE ChannelMembers DROP COLUMN SchemeGuest;" || echo "drop failed" 118 # - docker-compose --no-ansi exec -T mysql mysql -D latest -uroot -pmostest -e "ALTER TABLE ChannelMembers DROP COLUMN SchemeGuest;" || echo "drop failed" 119 # - echo "Generating dump" 120 # - docker-compose --no-ansi exec -T mysql mysqldump --skip-opt --no-data --compact -u root -pmostest migrated > migrated.sql 121 # - docker-compose --no-ansi exec -T mysql mysqldump --skip-opt --no-data --compact -u root -pmostest latest > latest.sql 122 # - echo "Removing databases created for db comparison" 123 # - docker-compose --no-ansi exec -T mysql mysql -uroot -pmostest -e 'DROP DATABASE migrated; DROP DATABASE latest' 124 # - echo "Generating diff" 125 # rules: 126 # - if: '$TEST == "yes"'