From 2e6004cc121a96db18bdc5d33cbda06e7577aed3 Mon Sep 17 00:00:00 2001 From: David Date: Thu, 12 Sep 2024 01:30:08 +0200 Subject: [PATCH] ci: split up install prepare --- .github/helper/install_bench.sh | 18 ++++++++++ .github/helper/install_site.sh | 59 +++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 .github/helper/install_bench.sh create mode 100644 .github/helper/install_site.sh diff --git a/.github/helper/install_bench.sh b/.github/helper/install_bench.sh new file mode 100644 index 0000000000..1bf50090a4 --- /dev/null +++ b/.github/helper/install_bench.sh @@ -0,0 +1,18 @@ +#!/bin/bash +set -e +cd ~ || exit + +echo "::group::Install Bench" +pip install frappe-bench +echo "::endgroup::" + +echo "::group::Init Bench" +bench -v init frappe-bench --skip-assets --python "$(which python)" --frappe-path "${GITHUB_WORKSPACE}" +cd ./frappe-bench || exit + +bench -v setup requirements --dev +if [ "$TYPE" == "ui" ] +then + bench -v setup requirements --node; +fi +echo "::endgroup::" diff --git a/.github/helper/install_site.sh b/.github/helper/install_site.sh new file mode 100644 index 0000000000..cedd5d658e --- /dev/null +++ b/.github/helper/install_site.sh @@ -0,0 +1,59 @@ +#!/bin/bash +set -e +cd ~ || exit + +echo "::group::Create Test Site" +mkdir ~/frappe-bench/sites/test_site +cp "${GITHUB_WORKSPACE}/.github/helper/db/$DB.json" ~/frappe-bench/sites/test_site/site_config.json + +if [ "$DB" == "mariadb" ] +then + mariadb --host 127.0.0.1 --port 3306 -u root -ptravis -e "SET GLOBAL character_set_server = 'utf8mb4'"; + mariadb --host 127.0.0.1 --port 3306 -u root -ptravis -e "SET GLOBAL collation_server = 'utf8mb4_unicode_ci'"; + + mariadb --host 127.0.0.1 --port 3306 -u root -ptravis -e "CREATE DATABASE test_frappe"; + mariadb --host 127.0.0.1 --port 3306 -u root -ptravis -e "CREATE USER 'test_frappe'@'localhost' IDENTIFIED BY 'test_frappe'"; + mariadb --host 127.0.0.1 --port 3306 -u root -ptravis -e "GRANT ALL PRIVILEGES ON \`test_frappe\`.* TO 'test_frappe'@'localhost'"; + + mariadb --host 127.0.0.1 --port 3306 -u root -ptravis -e "FLUSH PRIVILEGES"; +fi +if [ "$DB" == "postgres" ] +then + echo "travis" | psql -h 127.0.0.1 -p 5432 -c "CREATE DATABASE test_frappe" -U postgres; + echo "travis" | psql -h 127.0.0.1 -p 5432 -c "CREATE USER test_frappe WITH PASSWORD 'test_frappe'" -U postgres; +fi +echo "::endgroup::" + +echo "::group::Modify processes" +sed -i 's/^watch:/# watch:/g' Procfile +sed -i 's/^schedule:/# schedule:/g' Procfile + +if [ "$TYPE" == "server" ] +then + sed -i 's/^socketio:/# socketio:/g' Procfile + sed -i 's/^redis_socketio:/# redis_socketio:/g' Procfile +fi + +if [ "$TYPE" == "ui" ] +then + sed -i 's/^web: bench serve/web: bench serve --with-coverage/g' Procfile +fi +echo "::endgroup::" + +bench start &> ~/frappe-bench/bench_start.log & + +echo "::group::Install site" +if [ "$TYPE" == "server" ] +then + CI=Yes bench build --app frappe & + build_pid=$! +fi + +bench --site test_site reinstall --yes + +if [ "$TYPE" == "server" ] +then + # wait till assets are built successfully + wait $build_pid +fi +echo "::endgroup::"