github.com/haalcala/mattermost-server-change-repo/v5@v5.33.2/.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"'