github.com/haalcala/mattermost-server-change-repo/v5@v5.33.2/.gitlab-ci/test.yml (about)

     1  .test:
     2    stage: test
     3    image: $CI_REGISTRY/mattermost/ci/images/mattermost-build-docker:19.03.12-1
     4    services:
     5      - name: $CI_REGISTRY/mattermost/ci/images/docker-dind:19.03.12-1
     6        alias: docker
     7    variables:
     8      DOCKER_TLS_CERTDIR: ""
     9      DOCKER_HOST: tcp://docker:2375/
    10      DOCKER_DRIVER: overlay2
    11      DOCKER_CONTENT_TRUST: 0
    12      DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE: ""
    13  
    14      MM_SQLSETTINGS_DATASOURCE: "postgres://mmuser:mostest@postgres:5432/mattermost_test?sslmode=disable&connect_timeout=10"
    15      MM_SQLSETTINGS_DRIVERNAME: postgres
    16    script:
    17      - mkdir -p client/plugins
    18      - mkdir -p build/test-results
    19      - mkdir -p build/logs
    20      - cd build
    21      - docker-compose --no-ansi run --rm start_dependencies
    22      - cat ../tests/test-data.ldif | docker-compose --no-ansi exec -T openldap bash -c 'ldapadd -x -D "cn=admin,dc=mm,dc=test,dc=com" -w mostest'
    23      - docker-compose --no-ansi exec -T minio sh -c 'mkdir -p /data/mattermost-test'
    24      - sleep 5
    25      - docker run --net build_mm-test appropriate/curl:latest sh -c "until curl --max-time 5 --output - http://mysql:3306; do echo waiting for mysql; sleep 5; done;"
    26      - docker run --net build_mm-test appropriate/curl:latest sh -c "until curl --max-time 5 --output - http://elasticsearch:9200; do echo waiting for elasticsearch; sleep 5; done;"
    27      - ulimit -n 8096
    28      # todo: remove setting GOBIN here, once circleci can be removed (see build/dotenv/test.env)
    29      - >
    30        time docker run -it  -d --name server --net build_mm-test \
    31          --env-file=dotenv/test.env \
    32          --env MM_SQLSETTINGS_DATASOURCE=$MM_SQLSETTINGS_DATASOURCE \
    33          --env MM_SQLSETTINGS_DRIVERNAME=$MM_SQLSETTINGS_DRIVERNAME \
    34          --env GOBIN=$PWD/bin \
    35          -v $CI_PROJECT_DIR:/mattermost-server \
    36          -w /mattermost-server \
    37          $CI_REGISTRY/mattermost/ci/images/mattermost-build-server:20201119_golang-1.15.5 \
    38          bash -c "ulimit -n 8096; make test-server BUILD_NUMBER=$CI_COMMIT_SHA TESTFLAGS= TESTFLAGSEE=;"
    39      - docker logs -f server
    40      - docker-compose logs --tail="all" -t --no-color > logs/docker-compose_logs
    41      - docker ps -a --no-trunc > logs/docker_ps
    42      - docker stats -a --no-stream > logs/docker_stats
    43      - tar -czvf logs/docker_logs.tar.gz logs/docker-compose_logs logs/docker_ps logs/docker_stats
    44      - cp ../report.xml test-results
    45      - DOCKER_EXIT_CODE=$(docker inspect server --format='{{.State.ExitCode}}')
    46      - echo $DOCKER_EXIT_CODE
    47      - exit $DOCKER_EXIT_CODE
    48    artifacts:
    49      paths:
    50        - build/logs
    51      reports:
    52        junit: build/test-results/report.xml
    53      expire_in: 7 days