Skip to content

Commit

Permalink
checking integ test script changes on windows setup
Browse files Browse the repository at this point in the history
  • Loading branch information
nisgoel-amazon committed May 3, 2024
1 parent 734c13f commit 0f00726
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 12 deletions.
33 changes: 33 additions & 0 deletions .github/workflows/build-local.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Build Replication plugin
# This workflow is triggered on pull requests to main branch
on:
push:
branches:
- '*'

# We build for other platforms except linux which is already covered in build-and-test.
# Also, We're not running tests here as those are already covered with linux build.
jobs:
build:
continue-on-error: true
strategy:
matrix:
java:
- 17
os:
- windows-latest
# Job name
name: Java ${{ matrix.java }} On ${{ matrix.os }}
runs-on: ${{ matrix.os }}
steps:
# This step uses the setup-java Github action: https://github.com/actions/setup-java
- name: Set Up JDK ${{ matrix.java }}
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java }}
# This step uses the checkout Github action: https://github.com/actions/checkout
- name: Checkout Branch
uses: actions/checkout@v2
- name: Build and run Replication tests
run: |
scripts/integtest.sh -e '[{"cluster_name": "leader","data_nodes": [{"endpoint": "localhost","port": 9200,"transport": 9300},{"endpoint": "localhost","port": 9201,"transport": 9301}],"cluster_manager_nodes": []},{"cluster_name": "follower","data_nodes": [{"endpoint": "localhost","port": 9202,"transport": 9302},{"endpoint": "localhost","port": 9203,"transport":9303}],"cluster_manager_nodes": []}]' -s false -v 2.13.0
49 changes: 37 additions & 12 deletions scripts/integtest.sh
Original file line number Diff line number Diff line change
Expand Up @@ -103,24 +103,49 @@ then
exit 1
fi

data=$(python3 -c "import json; cluster=$ENDPOINT_LIST ; data_nodes=cluster; print(data_nodes[0][\"data_nodes\"][0][\"endpoint\"],':',data_nodes[0][\"data_nodes\"][0][\"port\"],':',data_nodes[0][\"data_nodes\"][0][\"transport\"],',',data_nodes[1][\"data_nodes\"][0][\"endpoint\"],':',data_nodes[1][\"data_nodes\"][0][\"port\"],':',data_nodes[1][\"data_nodes\"][0][\"transport\"])" | tr -d "[:blank:]")
extract_values() {
local cluster_name="$1"
local field="$2"

echo "$ENDPOINT_LIST" | awk -v cluster="$cluster_name" -v field="$field" '
BEGIN { RS=","; FS=":" }
$1 ~ "\"cluster_name\"" && $2 ~ "\"" cluster "\"" {
while (getline) {
if ($1 ~ "\"" field "\"") {
gsub(/"/, "", $2)
print $2
exit
}
}
}
' | tr -d '{}'
}

leader=$(echo $data | cut -d ',' -f1 | cut -d ':' -f1,2 )
follower=$(echo $data | cut -d ',' -f2 | cut -d ':' -f1,2 )
echo "leader: $leader"
echo "follower: $follower"

# Extract values for leader cluster
leader_endpoint=$(extract_values "leader" "endpoint")
leader_port=$(extract_values "leader" "port")
leader_transport=$(extract_values "leader" "transport")

# Extract values for follower cluster
follower_endpoint=$(extract_values "follower" "endpoint")
follower_port=$(extract_values "follower" "port")
follower_transport=$(extract_values "follower" "transport")

# Print extracted data
echo "Leader Endpoint: $leader_endpoint"
echo "Leader Port: $leader_port"
echo "Leader Transport: $leader_transport"
echo "Follower Endpoint: $follower_endpoint"
echo "Follower Port: $follower_port"
echo "Follower Transport: $follower_transport"

# Get number of nodes, assuming both leader and follower have same number of nodes
numNodes=$((${follower##*:} - ${leader##*:}))
numNodes=$((${follower_port} - ${leader_port}))
echo "numNodes: $numNodes"


LTRANSPORT_PORT=$(echo $data | cut -d ',' -f1 | cut -d ':' -f1,3 )
FTRANSPORT_PORT=$(echo $data | cut -d ',' -f2 | cut -d ':' -f1,3 )
echo "LTRANSPORT_PORT: $LTRANSPORT_PORT"
echo "FTRANSPORT_PORT: $FTRANSPORT_PORT"

eval "./gradlew integTestRemote -Dleader.http_host=\"$leader\" -Dfollower.http_host=\"$follower\" -Dfollower.transport_host=\"$FTRANSPORT_PORT\" -Dleader.transport_host=\"$LTRANSPORT_PORT\" -Dsecurity_enabled=\"$SECURITY_ENABLED\" -Duser=\"$USERNAME\" -Dpassword=\"$PASSWORD\" -PnumNodes=$numNodes --console=plain "
eval "./gradlew integTestRemote -Dleader.http_host=$leader_endpoint:$leader_port -Dfollower.http_host=$follower_endpoint:$follower_port -Dfollower.transport_host=$follower_endpoint:$follower_transport -Dleader.transport_host=$leader_endpoint:$leader_transport -Dsecurity_enabled=$SECURITY_ENABLED -Duser=$USERNAME -Dpassword=$PASSWORD -PnumNodes=$numNodes --console=plain "

else
# Single cluster
Expand Down

0 comments on commit 0f00726

Please sign in to comment.