@@ -46,42 +46,56 @@ findExistingSnapshotSha() {
4646 return 1
4747}
4848
49+ resolveCurrentServerlessReleaseSha () {
50+ local serverless_release_rev
51+ local serverless_release_sha
52+
53+ if ! serverless_release_rev=" $( node scripts/get_serverless_release_sha) " ; then
54+ echo " ❌ Couldn't determine current serverless release SHA. Aborting Saved Objects checks" >&2
55+ exit 1
56+ fi
57+
58+ if ! serverless_release_sha=" $( git rev-parse " $serverless_release_rev " ) " ; then
59+ echo " ❌ Couldn't expand current serverless release SHA. Aborting Saved Objects checks." >&2
60+ exit 1
61+ fi
62+
63+ if [[ -z " $serverless_release_sha " ]]; then
64+ echo " ❌ Couldn't expand current serverless release SHA. Aborting Saved Objects checks." >&2
65+ exit 1
66+ fi
67+
68+ echo " $serverless_release_sha "
69+ }
70+
4971echo --- Check changes in Saved Objects
5072
5173if is_pr; then
5274 # We are on the 'pull_request' pipeline, the goal is to test against the merge-base commit.
5375 # First, we try to obtain its SHA (or one of its ancestors)
54- MERGE_BASE_REV=" $( findExistingSnapshotSha " $GITHUB_PR_MERGE_BASE " ) "
55- if [[ $? -ne 0 ]]; then
76+ if ! MERGE_BASE_REV=" $( findExistingSnapshotSha " $GITHUB_PR_MERGE_BASE " ) " ; then
5677 echo " ❌ Could not find an existing snapshot to use as a baseline. Please rebase this PR branch onto the latest 'main' commit, then rerun CI." >&2
5778 exit 1
5879 fi
5980
81+ SERVERLESS_BASELINE_FLAG=()
82+ if [[ " $GITHUB_PR_TARGET_BRANCH " == " main" ]]; then
83+ GITHUB_SERVERLESS_RELEASE_SHA=" $( resolveCurrentServerlessReleaseSha) "
84+ SERVERLESS_BASELINE_FLAG=(--serverless-baseline " $GITHUB_SERVERLESS_RELEASE_SHA " )
85+ fi
86+
6087 if ! is_auto_commit_disabled; then
6188 # The step might update files like removed_types.json and/or SO fixtures
62- node scripts/check_saved_objects --baseline " $MERGE_BASE_REV " --fix
89+ node scripts/check_saved_objects --baseline " $MERGE_BASE_REV " " ${SERVERLESS_BASELINE_FLAG[@]} " --fix
6390 check_for_changed_files " node scripts/check_saved_objects" true
6491 else
65- node scripts/check_saved_objects --baseline " $MERGE_BASE_REV "
92+ node scripts/check_saved_objects --baseline " $MERGE_BASE_REV " " ${SERVERLESS_BASELINE_FLAG[@]} "
6693 fi
6794else
6895 # We are on the 'on-merge' pipeline, the goal is to test against current serverless release,
6996 # and ONLY if we are in the main branch (older versions most likely won't be compatible)
7097 if [[ " $GITHUB_PR_TARGET_BRANCH " == " main" ]]; then
71- # Obtain the current serverless release SHA from serverless-gitops
72- GITHUB_SERVERLESS_RELEASE_REV=" $( node scripts/get_serverless_release_sha) "
73- if [[ $? -ne 0 ]]; then
74- echo " ❌ Couldn't determine current serverless release SHA. Aborting Saved Objects checks" >&2
75- exit 1
76- fi
77-
78- # Expand to get the full SHA
79- GITHUB_SERVERLESS_RELEASE_SHA=" $( git rev-parse " $GITHUB_SERVERLESS_RELEASE_REV " ) "
80- if [[ $? -ne 0 || -z " $GITHUB_SERVERLESS_RELEASE_SHA " ]]; then
81- echo " ❌ Couldn't expand current serverless release SHA. Skipping check against Serverless baseline." >&2
82- exit 1
83- fi
84-
98+ GITHUB_SERVERLESS_RELEASE_SHA=" $( resolveCurrentServerlessReleaseSha) "
8599 # Perform the check against current serverless release
86100 node scripts/check_saved_objects --baseline " $GITHUB_SERVERLESS_RELEASE_SHA "
87101 fi
0 commit comments