From b140bb3f43d416cce6f60a861426108d46f2d7bb Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Sat, 18 Sep 2021 16:01:20 +0530 Subject: [PATCH 1/3] test: run patch test to last release and PR In the patch test, instead of migrating to the current SHA directly. Migrate to the latest release (with code at the time of release) and then migrate to last commit in PR. Why? When directly migrating, the previous patches that would've run with old code have access to the new code and it's not realistic. This change brings it a little bit closer to reality. Hence missing failures that would occur with IRL installations. --- .github/workflows/patch-mariadb-tests.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/patch-mariadb-tests.yml b/.github/workflows/patch-mariadb-tests.yml index 3ac5cfa349..926b774782 100644 --- a/.github/workflows/patch-mariadb-tests.yml +++ b/.github/workflows/patch-mariadb-tests.yml @@ -102,4 +102,13 @@ jobs: cd ~/frappe-bench/ wget https://frappeframework.com/files/v10-frappe.sql.gz bench --site test_site --force restore ~/frappe-bench/v10-frappe.sql.gz + cd apps/frappe && git remote set-url upstream https://github.com/frappe/frappe.git && git fetch --all --tags + git tag --sort version:refname \ + | grep -v "beta" \ + | tail -1 \ + | xargs -L 1 git checkout -f + bench setup requirements --python + bench --site test_site migrate --skip-search-index + git checkout -f "$GITHUB_SHA" + bench setup requirements --python bench --site test_site migrate From 42791744ffd7cd35d232a757e1aab8897f9743de Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Tue, 21 Sep 2021 18:43:20 +0530 Subject: [PATCH 2/3] test: migration tests each version at a time --- .github/workflows/patch-mariadb-tests.yml | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/.github/workflows/patch-mariadb-tests.yml b/.github/workflows/patch-mariadb-tests.yml index 926b774782..fafa96344d 100644 --- a/.github/workflows/patch-mariadb-tests.yml +++ b/.github/workflows/patch-mariadb-tests.yml @@ -103,12 +103,19 @@ jobs: wget https://frappeframework.com/files/v10-frappe.sql.gz bench --site test_site --force restore ~/frappe-bench/v10-frappe.sql.gz cd apps/frappe && git remote set-url upstream https://github.com/frappe/frappe.git && git fetch --all --tags - git tag --sort version:refname \ - | grep -v "beta" \ - | tail -1 \ - | xargs -L 1 git checkout -f - bench setup requirements --python - bench --site test_site migrate --skip-search-index + + taglist=$(git tag --sort version:refname | grep -v "beta") + last_release=$(echo "$taglist" | tail -1 | cut -d . -f 1 | cut -c 2-) + + for version in $(seq 12 "$last_release") + do + last_tag=$(echo "$taglist" | grep "v$version" | tail -1) + echo "Updating to $last_tag" + git checkout -f "$last_tag" + bench setup requirements --python + bench --site test_site migrate + done + git checkout -f "$GITHUB_SHA" bench setup requirements --python bench --site test_site migrate From c1f9231d7210e22402a3d604b7de9f4ccdb35602 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Tue, 28 Sep 2021 17:01:20 +0530 Subject: [PATCH 3/3] fix: install future and minor changes minor changes: 1. quitely checkout new tags 2. avoid changing directory 3. use pip instead of bench to install deps. --- .github/workflows/patch-mariadb-tests.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/patch-mariadb-tests.yml b/.github/workflows/patch-mariadb-tests.yml index fafa96344d..56137d0bea 100644 --- a/.github/workflows/patch-mariadb-tests.yml +++ b/.github/workflows/patch-mariadb-tests.yml @@ -102,7 +102,11 @@ jobs: cd ~/frappe-bench/ wget https://frappeframework.com/files/v10-frappe.sql.gz bench --site test_site --force restore ~/frappe-bench/v10-frappe.sql.gz - cd apps/frappe && git remote set-url upstream https://github.com/frappe/frappe.git && git fetch --all --tags + + source env/bin/activate + cd apps/frappe/ + git remote set-url upstream https://github.com/frappe/frappe.git + git fetch --all --tags taglist=$(git tag --sort version:refname | grep -v "beta") last_release=$(echo "$taglist" | tail -1 | cut -d . -f 1 | cut -c 2-) @@ -111,11 +115,12 @@ jobs: do last_tag=$(echo "$taglist" | grep "v$version" | tail -1) echo "Updating to $last_tag" - git checkout -f "$last_tag" - bench setup requirements --python + git checkout -q -f "$last_tag" + pip install -q -r requirements.txt bench --site test_site migrate done - git checkout -f "$GITHUB_SHA" + echo "Updating to last commit" + git checkout -q -f "$GITHUB_SHA" bench setup requirements --python bench --site test_site migrate