MM-52642 CLD-6352 MM-54007 Prepare setup for Playwright pipeline (#24647)

* pipeline(playwright): prepare setup for playwright

* feedback address

* clean up readme

* Fix docker-compose command and definition for dashboard

* fix the dashboard

* ignore dashboard when formatting

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Mario Vitale <mvitale1989@hotmail.com>
Этот коммит содержится в:
Saturnino Abril
2023-10-14 07:02:32 +08:00
коммит произвёл GitHub
родитель e9da1ee8ca
Коммит 6746857ee7
53 изменённых файлов: 907 добавлений и 358 удалений

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

@@ -1,7 +1,8 @@
#!/bin/bash
set -e -u -o pipefail
cd $(dirname $0)
cd "$(dirname "$0")"
. .e2erc
. .e2erc_setup
MME2E_DASHBOARD_REF_DEFAULT="origin/main"
MME2E_DASHBOARD_REF=${MME2E_DASHBOARD_REF:-$MME2E_DASHBOARD_REF_DEFAULT}
@@ -9,26 +10,34 @@ MME2E_DASHBOARD_REF=${MME2E_DASHBOARD_REF:-$MME2E_DASHBOARD_REF_DEFAULT}
mme2e_log "Cloning the automation-dashboard project"
if [ ! -d dashboard ]; then
git clone https://github.com/saturninoabril/automation-dashboard.git dashboard
. .e2erc # Must reinitialize some variables that depend on the dashboard repo being checked out
# Must reinitialize some variables that depend on the dashboard repo being checked out
. .e2erc
. .e2erc_setup
fi
git -C dashboard fetch
git -C dashboard checkout $MME2E_DASHBOARD_REF
git -C dashboard checkout "$MME2E_DASHBOARD_REF"
mme2e_log "Starting the dashboard"
${MME2E_DC_DASHBOARD} up -d db dashboard
mme2e_log "Generating the dashboard's local URL"
case $MME2E_OSTYPE in
darwin )
AUTOMATION_DASHBOARD_IP=$(ifconfig $(route get 1.1.1.1 | grep interface | awk '{print $2}') | grep -w inet | awk '{print $2}') ;;
* )
MME2E_DC_DASHBOARD_NETWORK=$(docker inspect $(${MME2E_DC_DASHBOARD} ps -q dashboard) | jq -r '.[0].NetworkSettings.Networks | (keys|.[0])')
AUTOMATION_DASHBOARD_IP=$(docker network inspect $MME2E_DC_DASHBOARD_NETWORK | jq -r '.[0].IPAM.Config[0].Gateway')
darwin)
# shellcheck disable=SC2046
AUTOMATION_DASHBOARD_IP=$(ifconfig $(route get 1.1.1.1 | grep interface | awk '{print $2}') | grep -w inet | awk '{print $2}')
;;
*)
# shellcheck disable=SC2046
MME2E_DC_DASHBOARD_NETWORK=$(docker inspect $(${MME2E_DC_DASHBOARD} ps -q dashboard) | jq -r '.[0].NetworkSettings.Networks | (keys|.[0])')
AUTOMATION_DASHBOARD_IP=$(docker network inspect "$MME2E_DC_DASHBOARD_NETWORK" | jq -r '.[0].IPAM.Config[0].Gateway')
;;
esac
# shellcheck disable=SC2034
AUTOMATION_DASHBOARD_URL="http://${AUTOMATION_DASHBOARD_IP}:4000/api"
mme2e_log "Generating a signed JWT token for accessing the dashboard"
${MME2E_DC_DASHBOARD} exec -T dashboard npm i
${MME2E_DC_DASHBOARD} exec -T dashboard bash -c "rm -rf node_modules && npm install --cache /tmp/empty-cache"
# shellcheck disable=SC2034
AUTOMATION_DASHBOARD_TOKEN=$(${MME2E_DC_DASHBOARD} exec -T dashboard node script/sign.js | awk '{ print $2; }') # The token secret is specified in the dashboard.override.yml file
mme2e_log "Generating the .env.dashboard file, to point Cypress to the dashboard URL"