Prepare: run E2E smoketests with GitHub actions (#23301)

- Port E2E testing scripts from cypress-ui-automation
- Move server to docker-compose, move E2E images to ecrpublic
* Integrate General channel renaming, fixes
- Add local automation-dashboard
- Add readme
- Add E2E smoketests
- Bump postgres to 12

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Saturnino Abril <saturnino.abril@gmail.com>
Co-authored-by: Antonis Stamatiou <stamatiou.antonis@gmail.com>
Этот коммит содержится в:
mvitale1989
2023-05-30 17:34:15 +02:00
коммит произвёл GitHub
родитель 6d1a42773e
Коммит 68be3a6bcd
25 изменённых файлов: 623 добавлений и 49 удалений

Просмотреть файл

@@ -1,29 +1,44 @@
version: '2.4'
services:
minio:
image: ${CI_REGISTRY}/mattermost/ci/images/minio:RELEASE.2019-10-11T00-38-09Z-1
image: public.ecr.aws/mattermostqa/minio:RELEASE.2019-10-11T00-38-09Z-1
command: "server /data"
environment:
MINIO_ACCESS_KEY: minioaccesskey
MINIO_SECRET_KEY: miniosecretkey
MINIO_SSE_MASTER_KEY: "my-minio-key:6368616e676520746869732070617373776f726420746f206120736563726574"
healthcheck:
test: [ "CMD", "nc", "-z", "-w1", "127.0.0.1", "9000" ]
interval: 10s
timeout: 15s
retries: 12
inbucket:
image: ${CI_REGISTRY}/mattermost/ci/images/inbucket:v3.0.0-rc1-2-gc64e7a6-1
image: public.ecr.aws/mattermostqa/inbucket:3.0.0
restart: always
environment:
INBUCKET_WEB_ADDR: "0.0.0.0:9001"
INBUCKET_POP3_ADDR: "0.0.0.0:10110"
INBUCKET_SMTP_ADDR: "0.0.0.0:10025"
healthcheck:
test: [ "CMD", "nc", "-z", "-w1", "127.0.0.1", "10025" ]
interval: 10s
timeout: 15s
retries: 12
openldap:
image: ${CI_REGISTRY}/mattermost/ci/images/openldap:1.4.0-1
image: public.ecr.aws/mattermostqa/openldap:1.4.0
restart: always
environment:
LDAP_TLS_VERIFY_CLIENT: "never"
LDAP_ORGANISATION: "Mattermost Test"
LDAP_DOMAIN: "mm.test.com"
LDAP_ADMIN_PASSWORD: "mostest"
healthcheck:
test: [ "CMD", "bash", "-o", "pipefail", "-c", "ss -ltn 'sport = :636' | grep -qE '^LISTEN'" ]
interval: 10s
timeout: 15s
retries: 12
elasticsearch:
image: ${CI_REGISTRY}/mattermost/ci/images/mattermost-elasticsearch-docker:7.17.3
image: mattermost/mattermost-elasticsearch-docker:7.17.3
environment:
http.host: "0.0.0.0"
http.port: 9200
@@ -33,10 +48,20 @@ services:
http.cors.allow-credentials: "true"
transport.host: "127.0.0.1"
ES_JAVA_OPTS: "-Xms512m -Xmx512m"
healthcheck:
test: [ "CMD", "bash", "-o", "pipefail", "-c", "curl --silent localhost:9200/_cat/health | awk '{ print $$4 }' | grep -qE '^green$$'" ]
interval: 10s
timeout: 15s
retries: 12
dejavu:
image: ${CI_REGISTRY}/mattermost/ci/images/dejavu:3.4.2-1
image: public.ecr.aws/mattermostqa/dejavu:3.4.2
healthcheck:
test: [ "CMD", "nc", "-z", "-w1", "127.0.0.1", "1358" ]
interval: 10s
timeout: 15s
retries: 12
keycloak:
image: ${CI_REGISTRY}/mattermost/ci/images/keycloak:10.0.2-1
image: public.ecr.aws/mattermostqa/keycloak:10.0.2
restart: always
environment:
KEYCLOAK_USER: mmuser
@@ -45,13 +70,29 @@ services:
KEYCLOAK_IMPORT: /setup/realm.json
volumes:
- "./docker/keycloak:/setup"
healthcheck:
test: [ "CMD", "bash", "-o", "pipefail", "-c", "curl --silent localhost:9990/health | grep -q '\"status\":\"UP\"'" ]
interval: 10s
timeout: 15s
retries: 12
prometheus:
image: ${CI_REGISTRY}/mattermost/ci/images/prometheus:2.27.1-1
image: public.ecr.aws/mattermostqa/prometheus:v2.27.1
volumes:
- "./docker/prometheus-linux.yml:/etc/prometheus/prometheus.yml"
healthcheck:
test: [ "CMD", "wget", "-q", "-O-", "127.0.0.1:9090/-/ready" ]
interval: 10s
timeout: 15s
retries: 12
# wget -q -O- localhost:3000/healthz | grep -q Ok
grafana:
image: ${CI_REGISTRY}/mattermost/ci/images/grafana:8.0.1-1
image: public.ecr.aws/mattermostqa/grafana:8.0.1
volumes:
- "./docker/grafana/grafana.ini:/etc/grafana/grafana.ini"
- "./docker/grafana/provisioning:/etc/grafana/provisioning"
- "./docker/grafana/dashboards:/var/lib/grafana/dashboards"
healthcheck:
test: [ "CMD", "bash", "-o", "pipefail", "-c", "wget -q -O- localhost:3000/healthz | grep -q Ok" ]
interval: 10s
timeout: 15s
retries: 12

Просмотреть файл

@@ -1,7 +1,7 @@
version: '2.4'
services:
mysql:
image: ${CI_REGISTRY}/mattermost/ci/images/mysql:5.7-1
image: public.ecr.aws/mattermostqa/mysql:5.7.12
restart: always
environment:
MYSQL_ROOT_HOST: "%"
@@ -83,7 +83,7 @@ services:
- grafana
start_dependencies:
image: ${CI_REGISTRY}/mattermost/ci/images/mattermost-wait-for-dep:latest-1
image: mattermost/mattermost-wait-for-dep:latest
depends_on:
- mysql
- minio
@@ -95,8 +95,3 @@ services:
command: mysql:3306 minio:9000 inbucket:9001 openldap:389 elasticsearch:9200 prometheus:9090 grafana:3000
networks:
default:
networks:
default:
external:
name: ${COMPOSE_PROJECT_NAME}

Просмотреть файл

@@ -1,7 +1,7 @@
version: '2.4'
services:
postgres:
image: ${CI_REGISTRY}/mattermost/ci/images/postgres:10-1
image: public.ecr.aws/mattermostqa/postgres:12
restart: always
environment:
POSTGRES_USER: mmuser
@@ -12,9 +12,9 @@ services:
- "./docker/postgres.conf:/etc/postgresql/postgresql.conf"
healthcheck:
test: [ "CMD", "pg_isready", "-h", "localhost" ]
interval: 5s
timeout: 10s
retries: 3
interval: 10s
timeout: 15s
retries: 12
networks:
default:
aliases:
@@ -81,7 +81,7 @@ services:
- grafana
start_dependencies:
image: ${CI_REGISTRY}/mattermost/ci/images/mattermost-wait-for-dep:latest-1
image: mattermost/mattermost-wait-for-dep:latest
depends_on:
- postgres
- minio
@@ -93,9 +93,3 @@ services:
command: postgres:5432 minio:9000 inbucket:9001 openldap:389 elasticsearch:9200 prometheus:9090 grafana:3000
networks:
default:
networks:
default:
external:
name: ${COMPOSE_PROJECT_NAME}

Просмотреть файл

@@ -1,7 +1,7 @@
version: '2.4'
services:
mysql:
image: ${CI_REGISTRY}/mattermost/ci/images/mysql:5.7-1
image: public.ecr.aws/mattermostqa/mysql:5.7.12
restart: always
environment:
MYSQL_ROOT_HOST: "%"
@@ -23,14 +23,9 @@ services:
- mysql
start_dependencies:
image: ${CI_REGISTRY}/mattermost/ci/images/mattermost-wait-for-dep:latest-1
image: mattermost/mattermost-wait-for-dep:latest
depends_on:
- mysql
command: mysql:3306
networks:
default:
networks:
default:
external:
name: ${COMPOSE_PROJECT_NAME}

Просмотреть файл

@@ -1,7 +1,7 @@
version: '2.4'
services:
postgres:
image: ${CI_REGISTRY}/mattermost/ci/images/postgres:10-1
image: public.ecr.aws/mattermostqa/postgres:12
restart: always
environment:
POSTGRES_USER: mmuser
@@ -21,14 +21,9 @@ services:
- postgres
start_dependencies:
image: ${CI_REGISTRY}/mattermost/ci/images/mattermost-wait-for-dep:latest-1
image: mattermost/mattermost-wait-for-dep:latest
depends_on:
- postgres
command: postgres:5432
networks:
default:
networks:
default:
external:
name: ${COMPOSE_PROJECT_NAME}