From b77f112fb2a9b07c423bd459ca77257b0d7c463f Mon Sep 17 00:00:00 2001 From: David Date: Fri, 4 Oct 2024 12:23:25 +0200 Subject: [PATCH] ci: measure bench install times and control verbosity --- .github/helper/install_bench.sh | 27 ++++++++++++++++++----- .github/workflows/patch-mariadb-tests.yml | 8 ------- .github/workflows/server-tests.yml | 27 ++++++++++++++--------- .github/workflows/ui-tests.yml | 10 --------- 4 files changed, 39 insertions(+), 33 deletions(-) diff --git a/.github/helper/install_bench.sh b/.github/helper/install_bench.sh index 1bf50090a4..c6dcff2091 100644 --- a/.github/helper/install_bench.sh +++ b/.github/helper/install_bench.sh @@ -2,17 +2,34 @@ set -e cd ~ || exit +verbosity="${BENCH_VERBOSITY_FLAG:-}" + +start_time=$(date +%s) echo "::group::Install Bench" pip install frappe-bench echo "::endgroup::" +end_time=$(date +%s) +echo "Time taken to Install Bench: $((end_time - start_time)) seconds" -echo "::group::Init Bench" -bench -v init frappe-bench --skip-assets --python "$(which python)" --frappe-path "${GITHUB_WORKSPACE}" -cd ./frappe-bench || exit +git config --global init.defaultBranch main +git config --global advice.detachedHead false -bench -v setup requirements --dev +start_time=$(date +%s) +echo "::group::Init Bench & Install Frappe" +bench $verbosity init frappe-bench --skip-assets --python "$(which python)" --frappe-path "${GITHUB_WORKSPACE}" +echo "::endgroup::" +end_time=$(date +%s) +echo "Time taken to Init Bench & Install Frappe: $((end_time - start_time)) seconds" + +cd ~/frappe-bench || exit + +start_time=$(date +%s) +echo "::group::Install App Requirements" +bench $verbosity setup requirements --dev if [ "$TYPE" == "ui" ] then - bench -v setup requirements --node; + bench $verbosity setup requirements --node; fi +end_time=$(date +%s) echo "::endgroup::" +echo "Time taken to Install App Requirements: $((end_time - start_time)) seconds" \ No newline at end of file diff --git a/.github/workflows/patch-mariadb-tests.yml b/.github/workflows/patch-mariadb-tests.yml index 2c9b6594fd..bafe936f80 100644 --- a/.github/workflows/patch-mariadb-tests.yml +++ b/.github/workflows/patch-mariadb-tests.yml @@ -99,21 +99,13 @@ jobs: - name: Install Dependencies run: | bash ${GITHUB_WORKSPACE}/.github/helper/install_dependencies.sh - env: - BEFORE: ${{ env.GITHUB_EVENT_PATH.before }} - AFTER: ${{ env.GITHUB_EVENT_PATH.after }} - TYPE: server - DB: mariadb - name: Init Bench run: | pip install frappe-bench bash ${GITHUB_WORKSPACE}/.github/helper/install_bench.sh env: - BEFORE: ${{ env.GITHUB_EVENT_PATH.before }} - AFTER: ${{ env.GITHUB_EVENT_PATH.after }} TYPE: server - DB: mariadb - name: Init Test Site run: | diff --git a/.github/workflows/server-tests.yml b/.github/workflows/server-tests.yml index 2646d2efe4..3e53191274 100644 --- a/.github/workflows/server-tests.yml +++ b/.github/workflows/server-tests.yml @@ -36,6 +36,7 @@ jobs: PR_NUMBER: ${{ github.event.number }} REPO_NAME: ${{ github.repository }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + test: name: Unit Tests @@ -80,6 +81,12 @@ jobs: - 3000:80 steps: + - name: Has pyproject.toml changed? + id: changed-pyproject + uses: tj-actions/changed-files@v45 + with: + files: pyproject.toml + - name: Clone uses: actions/checkout@v4 @@ -96,6 +103,15 @@ jobs: exit 1 fi + - name: Check if pyproject.toml changed + id: check_changes + run: | + if git diff --name-only origin/${{ github.base_ref }}..HEAD | grep -q "pyproject.toml"; then + echo "pyproject_changed=true" >> $GITHUB_OUTPUT + else + echo "pyproject_changed=false" >> $GITHUB_OUTPUT + fi + - uses: actions/setup-node@v4 with: node-version: 18 @@ -129,22 +145,13 @@ jobs: - name: Install Dependencies run: | bash ${GITHUB_WORKSPACE}/.github/helper/install_dependencies.sh - env: - BEFORE: ${{ env.GITHUB_EVENT_PATH.before }} - AFTER: ${{ env.GITHUB_EVENT_PATH.after }} - FRAPPE_SENTRY_DSN: ${{ secrets.SENTRY_DSN }} - TYPE: server - DB: ${{ matrix.db }} - name: Init Bench run: | bash ${GITHUB_WORKSPACE}/.github/helper/install_bench.sh env: - BEFORE: ${{ env.GITHUB_EVENT_PATH.before }} - AFTER: ${{ env.GITHUB_EVENT_PATH.after }} - FRAPPE_SENTRY_DSN: ${{ secrets.SENTRY_DSN }} TYPE: server - DB: ${{ matrix.db }} + BENCH_VERBOSITY_FLAG: ${{ steps.changed-pyproject.outputs.any_modified == 'true' && '-v' || ''}} - name: Init Test Site run: | diff --git a/.github/workflows/ui-tests.yml b/.github/workflows/ui-tests.yml index 9e2701301d..715700f4ce 100644 --- a/.github/workflows/ui-tests.yml +++ b/.github/workflows/ui-tests.yml @@ -118,22 +118,12 @@ jobs: - name: Install Dependencies run: | bash ${GITHUB_WORKSPACE}/.github/helper/install_dependencies.sh - env: - BEFORE: ${{ env.GITHUB_EVENT_PATH.before }} - AFTER: ${{ env.GITHUB_EVENT_PATH.after }} - FRAPPE_SENTRY_DSN: ${{ secrets.SENTRY_DSN }} - TYPE: ui - DB: mariadb - name: Init Bench run: | bash ${GITHUB_WORKSPACE}/.github/helper/install_bench.sh env: - BEFORE: ${{ env.GITHUB_EVENT_PATH.before }} - AFTER: ${{ env.GITHUB_EVENT_PATH.after }} - FRAPPE_SENTRY_DSN: ${{ secrets.SENTRY_DSN }} TYPE: ui - DB: mariadb - name: Init Test Site run: |