Merge pull request #35064 from appsmithorg/release
22/07 Daily Promotion
This commit is contained in:
commit
6168e1f2dc
2
.github/workflows/rts-build.yml
vendored
2
.github/workflows/rts-build.yml
vendored
|
|
@ -32,7 +32,7 @@ defaults:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: appsmith-self-hosted-deployment-runner
|
runs-on: ubuntu-latest
|
||||||
# Only run this workflow for internally triggered events
|
# Only run this workflow for internally triggered events
|
||||||
if: |
|
if: |
|
||||||
github.event.pull_request.head.repo.full_name == github.repository ||
|
github.event.pull_request.head.repo.full_name == github.repository ||
|
||||||
|
|
|
||||||
|
|
@ -1,95 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
echo "Pre push hook called"
|
|
||||||
|
|
||||||
# An example hook script to verify what is about to be pushed. Called by "git
|
|
||||||
# push" after it has checked the remote status, but before anything has been
|
|
||||||
# pushed. If this script exits with a non-zero status nothing will be pushed.
|
|
||||||
#
|
|
||||||
# This hook is called with the following parameters:
|
|
||||||
#
|
|
||||||
# $1 -- Name of the remote to which the push is being done
|
|
||||||
# $2 -- URL to which the push is being done
|
|
||||||
#
|
|
||||||
# If pushing without using a named remote those arguments will be equal.
|
|
||||||
#
|
|
||||||
# Information about the commits which are being pushed is supplied as lines to
|
|
||||||
# the standard input in the form:
|
|
||||||
#
|
|
||||||
# <local ref> <local oid> <remote ref> <remote oid>
|
|
||||||
|
|
||||||
appsmith_ee_url="appsmith-ee.git"
|
|
||||||
appsmith_ce_url="appsmithorg/appsmith.git"
|
|
||||||
|
|
||||||
# Define the null SHA.
|
|
||||||
null_sha="0000000000000000000000000000000000000000"
|
|
||||||
|
|
||||||
# Function to get list of files between two commits
|
|
||||||
do_commits_contain_ee_files() {
|
|
||||||
# Store the commit hashes
|
|
||||||
from_commit=$1
|
|
||||||
to_commit=$2
|
|
||||||
string_to_match="app/client/src/ee"
|
|
||||||
|
|
||||||
# to_commit sha can be null if a branch is being pushed for the first to remote
|
|
||||||
# In that case, we would need to compare the diff against a default branch, like release.
|
|
||||||
if [ "$to_commit" == "$null_sha" ]; then
|
|
||||||
echo "comparing changes against release"
|
|
||||||
|
|
||||||
remote_name=$(git remote -v | grep -i $appsmith_ce_url | grep -i fetch | awk '{print $1}')
|
|
||||||
echo "remote name is $remote_name"
|
|
||||||
|
|
||||||
git fetch $remote_name release
|
|
||||||
to_commit=$remote_name/release
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "to_commit in function is $to_commit"
|
|
||||||
echo "from_commit is $from_commit"
|
|
||||||
|
|
||||||
# Get the list of files between the two commits
|
|
||||||
files=$(git diff --name-only $from_commit $to_commit)
|
|
||||||
|
|
||||||
# Iterate over each file
|
|
||||||
for file in $files; do
|
|
||||||
# Check if the file path contains the string
|
|
||||||
if [[ "$file" == *"$string_to_match"* ]]; then
|
|
||||||
echo "File '$file' matches the string '$string_to_match'"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
remote="$1"
|
|
||||||
url="$2"
|
|
||||||
|
|
||||||
echo "URL is $url"
|
|
||||||
echo "remote is $remote"
|
|
||||||
echo "remote sha is $remote_sha"
|
|
||||||
|
|
||||||
if [[ "$url" == *"$appsmith_ee_url"* ]]; then
|
|
||||||
echo "Hook invoked on EE repo. Ignoring pre-push hook checks"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
while read local_ref local_sha remote_ref remote_sha
|
|
||||||
do
|
|
||||||
echo "pushing from $local_sha to $remote_sha"
|
|
||||||
echo "local ref is " $local_ref
|
|
||||||
echo "remote ref is " $remote_ref
|
|
||||||
|
|
||||||
if [ "$local_sha" == "$null_sha" ]; then
|
|
||||||
echo "Branch is being deleted. Allow push"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if do_commits_contain_ee_files $local_sha $remote_sha
|
|
||||||
then
|
|
||||||
echo -e "Found EE changes in the commits\n"
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
echo -e "Didn't find ee changes in the commits\n"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
@ -22,7 +22,7 @@ export class Sidebar {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
assertVisible(timeout: number = 4000) {
|
assertVisible(timeout: number = 10000) {
|
||||||
cy.get(this.locators.sidebar, { timeout }).should("be.visible");
|
cy.get(this.locators.sidebar, { timeout }).should("be.visible");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,14 +13,20 @@ import type { JSCollection } from "entities/JSCollection";
|
||||||
export function getAffectedJSObjectIdsFromJSAction(
|
export function getAffectedJSObjectIdsFromJSAction(
|
||||||
action: ReduxAction<unknown> | BufferedReduxAction<unknown>,
|
action: ReduxAction<unknown> | BufferedReduxAction<unknown>,
|
||||||
): AffectedJSObjects {
|
): AffectedJSObjects {
|
||||||
|
if (action.type === ReduxActionTypes.FETCH_ALL_PAGE_ENTITY_COMPLETION) {
|
||||||
|
return {
|
||||||
|
ids: [],
|
||||||
|
isAllAffected: true,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
if (!JS_ACTIONS.includes(action.type)) {
|
if (!JS_ACTIONS.includes(action.type)) {
|
||||||
return {
|
return {
|
||||||
ids: [],
|
ids: [],
|
||||||
isAllAffected: false,
|
isAllAffected: false,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
// only JS actions here
|
|
||||||
action as ReduxAction<unknown>;
|
|
||||||
// When fetching JSActions fails, we need to diff all JSObjects because the reducer updates it
|
// When fetching JSActions fails, we need to diff all JSObjects because the reducer updates it
|
||||||
// to empty collection
|
// to empty collection
|
||||||
if (
|
if (
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,6 @@ describe("EditorTabs render checks", () => {
|
||||||
`/app/applicationSlug/pageSlug-${page.pageId}/edit`,
|
`/app/applicationSlug/pageSlug-${page.pageId}/edit`,
|
||||||
state,
|
state,
|
||||||
);
|
);
|
||||||
// check toggle is active
|
|
||||||
expect(container.firstChild).toBeNull();
|
expect(container.firstChild).toBeNull();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -49,11 +48,6 @@ describe("EditorTabs render checks", () => {
|
||||||
`/app/applicationSlug/pageSlug-${page.pageId}/edit/queries`,
|
`/app/applicationSlug/pageSlug-${page.pageId}/edit/queries`,
|
||||||
state,
|
state,
|
||||||
);
|
);
|
||||||
// check toggle is active
|
|
||||||
expect(getByTestId("t--list-toggle")).toHaveAttribute(
|
|
||||||
"data-selected",
|
|
||||||
"true",
|
|
||||||
);
|
|
||||||
// check tabs is empty
|
// check tabs is empty
|
||||||
const tabsContainer = getByTestId("t--tabs-container");
|
const tabsContainer = getByTestId("t--tabs-container");
|
||||||
expect(tabsContainer.firstChild).toBeNull();
|
expect(tabsContainer.firstChild).toBeNull();
|
||||||
|
|
@ -74,7 +68,7 @@ describe("EditorTabs render checks", () => {
|
||||||
`/app/applicationSlug/pageSlug-${page.pageId}/edit/queries`,
|
`/app/applicationSlug/pageSlug-${page.pageId}/edit/queries`,
|
||||||
state,
|
state,
|
||||||
);
|
);
|
||||||
// check toggle is active
|
// check toggle
|
||||||
expect(queryByTestId("t--list-toggle")).toBeNull();
|
expect(queryByTestId("t--list-toggle")).toBeNull();
|
||||||
|
|
||||||
// check tabs is empty
|
// check tabs is empty
|
||||||
|
|
@ -143,7 +137,7 @@ describe("EditorTabs render checks", () => {
|
||||||
state,
|
state,
|
||||||
);
|
);
|
||||||
|
|
||||||
// check toggle is not active
|
// check toggle
|
||||||
expect(queryByTestId("t--list-toggle")).toBeNull();
|
expect(queryByTestId("t--list-toggle")).toBeNull();
|
||||||
|
|
||||||
// check tabs is not empty
|
// check tabs is not empty
|
||||||
|
|
|
||||||
|
|
@ -86,7 +86,7 @@ const EditorTabs = () => {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Container>
|
<Container>
|
||||||
{ideViewMode === EditorViewMode.SplitScreen && (
|
{ideViewMode === EditorViewMode.SplitScreen && files.length > 0 ? (
|
||||||
<ToggleButton
|
<ToggleButton
|
||||||
data-testid="t--list-toggle"
|
data-testid="t--list-toggle"
|
||||||
icon="hamburger"
|
icon="hamburger"
|
||||||
|
|
@ -94,7 +94,7 @@ const EditorTabs = () => {
|
||||||
onClick={handleHamburgerClick}
|
onClick={handleHamburgerClick}
|
||||||
size="md"
|
size="md"
|
||||||
/>
|
/>
|
||||||
)}
|
) : null}
|
||||||
<ScrollArea
|
<ScrollArea
|
||||||
className="h-[32px] top-[0.5px]"
|
className="h-[32px] top-[0.5px]"
|
||||||
data-testid="t--editor-tabs"
|
data-testid="t--editor-tabs"
|
||||||
|
|
|
||||||
18
app/server/scripts/start-dev-server.sh
Executable file
18
app/server/scripts/start-dev-server.sh
Executable file
|
|
@ -0,0 +1,18 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Change to the parent directory of the directory containing this script.
|
||||||
|
cd "$(cd "$(dirname "$0")" && pwd)/.."
|
||||||
|
|
||||||
|
# Ref: <https://stackoverflow.com/a/30969768/151048>.
|
||||||
|
if [[ -f .env ]]; then
|
||||||
|
echo "Found a .env file, loading environment variables from that file."
|
||||||
|
set -o allexport
|
||||||
|
source .env
|
||||||
|
fi
|
||||||
|
|
||||||
|
source ../util/is_wsl.sh
|
||||||
|
if [ $IS_WSL ]; then
|
||||||
|
_JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true $_JAVA_OPTIONS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
(cd dist && exec java -jar server-*.jar)
|
||||||
13
app/util/is_wsl.sh
Executable file
13
app/util/is_wsl.sh
Executable file
|
|
@ -0,0 +1,13 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
IS_WSL=
|
||||||
|
|
||||||
|
proc_version="$(cat /proc/version)"
|
||||||
|
case "$proc_version" in
|
||||||
|
*icrosoft*)
|
||||||
|
IS_WSL=true
|
||||||
|
;;
|
||||||
|
*WSL*)
|
||||||
|
IS_WSL=true
|
||||||
|
;;
|
||||||
|
esac
|
||||||
44
app/util/is_wsl_test.sh
Executable file
44
app/util/is_wsl_test.sh
Executable file
|
|
@ -0,0 +1,44 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||||
|
|
||||||
|
distro=
|
||||||
|
|
||||||
|
cat() {
|
||||||
|
echo $distro
|
||||||
|
}
|
||||||
|
|
||||||
|
fail() {
|
||||||
|
local reason=$1
|
||||||
|
|
||||||
|
echo "${reason}
|
||||||
|
context: ${distro}"
|
||||||
|
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
stub_distro() {
|
||||||
|
local name=$1
|
||||||
|
|
||||||
|
distro=$name
|
||||||
|
source $DIR/is_wsl.sh
|
||||||
|
}
|
||||||
|
|
||||||
|
stub_distro "Linux Computer 4.19.104-microsoft-standard #1 SMP Wed Feb 19 06:37:35 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux"
|
||||||
|
if [ ! $IS_WSL ]; then
|
||||||
|
fail "Failed: Detected lack of WSL where it should have."
|
||||||
|
fi
|
||||||
|
|
||||||
|
stub_distro "Linux Computer 4.19.104-WSL-standard #1 SMP Wed Feb 19 06:37:35 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux"
|
||||||
|
if [ ! $IS_WSL ]; then
|
||||||
|
fail "Failed: Detected lack of WSL where it should have."
|
||||||
|
fi
|
||||||
|
|
||||||
|
stub_distro "Linux pop-os 5.3.0-22-generic #24+system76~1573659475~19.04~26b2022-Ubuntu SMP Wed Nov 13 20:0 x86_64 x86_64 x86_64 GNU/Linux"
|
||||||
|
if [ $IS_WSL ]; then
|
||||||
|
fail "Failed: Detected WSL where it shouldn't have."
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "All Tests Pass!"
|
||||||
Loading…
Reference in New Issue
Block a user