Skip to content

Commit

Permalink
Merge pull request #189 from FYP-Auto-Scale-JasmineGraph/master
Browse files Browse the repository at this point in the history
Style checks workflow
  • Loading branch information
miyurud authored Sep 12, 2023
2 parents 1cf4bd2 + 3148740 commit 74ec20a
Show file tree
Hide file tree
Showing 5 changed files with 88 additions and 71 deletions.
35 changes: 35 additions & 0 deletions .github/workflows/code-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Style Check

on:
push:
branches: [master]
pull_request:
branches: [master]

jobs:
style-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Install tools
run: |
sudo apt-get update && sudo apt-get install -y --no-install-recommends cpplint shfmt
sudo wget https://github.com/hadolint/hadolint/releases/download/v2.12.0/hadolint-Linux-x86_64 -O /bin/hadolint && sudo chmod +x /bin/hadolint
pip install install pylint
- name: cpplint check
if: ${{!contains(github.event.pull_request.labels.*.name, 'Skip cpplint Check')}}
run: cpplint --linelength=120 --filter=-build,-runtime,-readability/todo,-whitespace/todo,-readability/casting,-readability/braces,-readability/fn_size,-legal/copyright --exclude=./src/util/sqlite3/ --recursive .

- name: pylint check
if: ${{!contains(github.event.pull_request.labels.*.name, 'Skip pylint Check')}}
run: pylint --recursive=y .

- name: hadolint check
if: ${{!contains(github.event.pull_request.labels.*.name, 'Skip hadolint Check')}}
run: find . -type f -name '*Dockerfile*' -print0 | xargs -0 hadolint --ignore DL3008 -t warning

- name: shfmt check
if: ${{!contains(github.event.pull_request.labels.*.name, 'Skip shfmt Check')}}
run: find . -type f -name '*.sh' -print0 | xargs -0 shfmt -d -s -i 4 -ci
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM miyurud/jasminegraph
FROM miyurud/jasminegraph:20230909T110050
ENV HOME="/home/ubuntu"
ENV JASMINEGRAPH_HOME="/home/ubuntu/software/jasminegraph"

Expand Down
65 changes: 27 additions & 38 deletions run-docker.sh
Original file line number Diff line number Diff line change
@@ -1,78 +1,67 @@
#!/usr/bin/env bash


MODE=${MODE}
MASTERIP=${MASTERIP}
WORKERS=${WORKERS}
WORKERIP=${WORKERIP}
HOST_NAME=${HOST_NAME}
SERVER_PORT=${SERVER_PORT};
SERVER_DATA_PORT=${SERVER_DATA_PORT};
SERVER_PORT=${SERVER_PORT}
SERVER_DATA_PORT=${SERVER_DATA_PORT}
ENABLE_NMON=${ENABLE_NMON}

while [ $# -gt 0 ]; do

if [[ $1 == *"--"* ]]; then
if [[ $1 == *"--"* ]]; then
param="${1/--/}"
declare $param="$2"
echo $1 $2 // Optional to see the parameter:value result
fi
fi

shift
shift
done

if [ -z "$MODE" ] ;
then
if [ -z "$MODE" ]; then
echo "MODE OF OPERATION SHOULD BE SPECIFIED"
echo "Use argument 1 <MASTERIP> <NUMBER OF WORKERS> <WORKER IPS> to start JasmineGraph in Master mode."
echo "Use 2 <hostName> <serverPort> <serverDataPort> to start in Worker mode."
exit 1
fi

if [ $MODE -eq 1 ] ;
then
if [ -z "$MASTERIP" ] ;
then
echo "MASTER IP SHOULD BE SPECIFIED"
exit 1
if [ $MODE -eq 1 ]; then
if [ -z "$MASTERIP" ]; then
echo "MASTER IP SHOULD BE SPECIFIED"
exit 1
fi

if [ -z "$WORKERS" ] ;
then
echo "Number of workers SHOULD BE SPECIFIED"
exit 1
if [ -z "$WORKERS" ]; then
echo "Number of workers SHOULD BE SPECIFIED"
exit 1
fi

if [ -z "$WORKERIP" ] ;
then
echo "Worker IPs SHOULD BE SPECIFIED"
exit 1
if [ -z "$WORKERIP" ]; then
echo "Worker IPs SHOULD BE SPECIFIED"
exit 1
fi
else

if [ -z "$MASTERIP" ] ;
then
echo "MASTER IP SHOULD BE SPECIFIED"
exit 1
if [ -z "$MASTERIP" ]; then
echo "MASTER IP SHOULD BE SPECIFIED"
exit 1
fi

if [ -z "$SERVER_PORT" ] ;
then
echo "SERVER PORT SHOULD BE SPECIFIED"
exit 1
if [ -z "$SERVER_PORT" ]; then
echo "SERVER PORT SHOULD BE SPECIFIED"
exit 1
fi

if [ -z "$SERVER_DATA_PORT" ] ;
then
echo "SERVER DATA PORT SHOULD BE SPECIFIED"
exit 1
if [ -z "$SERVER_DATA_PORT" ]; then
echo "SERVER DATA PORT SHOULD BE SPECIFIED"
exit 1
fi
fi

export LD_LIBRARY_PATH=/usr/local/lib
if [ $MODE -eq 1 ] ;
then
if [ $MODE -eq 1 ]; then
./JasmineGraph "docker" $MODE $MASTERIP $WORKERS $WORKERIP $ENABLE_NMON
else
./JasmineGraph "docker" $MODE $HOST_NAME $MASTERIP $SERVER_PORT $SERVER_DATA_PORT $ENABLE_NMON
fi
fi
46 changes: 20 additions & 26 deletions run.sh
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
#!/usr/bin/env bash

JASMINEGRAPH_DIR="`dirname \"$0\"`"
PROFILE=$1;
MODE=$2;

JASMINEGRAPH_DIR="`( cd \"$JASMINEGRAPH_DIR\" && pwd )`"
if [ -z "$JASMINEGRAPH_DIR" ] ;
then
exit 1 # fail
JASMINEGRAPH_DIR="$(dirname \"$0\")"
PROFILE=$1
MODE=$2

JASMINEGRAPH_DIR="$(cd \"$JASMINEGRAPH_DIR\" && pwd)"
if [ -z "$JASMINEGRAPH_DIR" ]; then
exit 1 # fail
fi

export JASMINEGRAPH_HOME="$JASMINEGRAPH_DIR"

if [ -z "$MODE" ] ;
then
if [ -z "$MODE" ]; then
echo "MODE OF OPERATION SHOULD BE SPECIFIED"
echo "Use argument 1 to start JasmineGraph in Master mode."
echo "Use 2 <hostName> <serverPort> <serverDataPort> to start in Worker mode."
Expand All @@ -22,33 +20,29 @@ fi

cd $JASMINEGRAPH_DIR

if [ $MODE -eq 1 ] ;
then
if [ $MODE -eq 1 ]; then
echo "STARTING MASTER MODE"

MASTER_HOST_NAME=$3;
NUMBER_OF_WORKERS=$4;
WORKER_IPS=$5;
MASTER_HOST_NAME=$3
NUMBER_OF_WORKERS=$4
WORKER_IPS=$5

./JasmineGraph "native" $MODE $MASTER_HOST_NAME $NUMBER_OF_WORKERS $WORKER_IPS "false"
else
WORKER_HOST=$3;
MASTER_HOST_NAME=$4;
SERVER_PORT=$5;
SERVER_DATA_PORT=$6;
WORKER_HOST=$3
MASTER_HOST_NAME=$4
SERVER_PORT=$5
SERVER_DATA_PORT=$6

if [ -z "$SERVER_PORT" ] ;
then
if [ -z "$SERVER_PORT" ]; then
echo "SERVER PORT SHOULD BE SPECIFIED"
exit 1
fi

if [ -z "$SERVER_DATA_PORT" ] ;
then
echo "SERVER DATA PORT SHOULD BE SPECIFIED"
exit 1
if [ -z "$SERVER_DATA_PORT" ]; then
echo "SERVER DATA PORT SHOULD BE SPECIFIED"
exit 1
fi

./JasmineGraph "native" $MODE $WORKER_HOST $MASTER_HOST_NAME $SERVER_PORT $SERVER_DATA_PORT "false"
fi

11 changes: 5 additions & 6 deletions test-docker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ TIMEOUT_SECONDS=600
RUN_ID="$(date +%y%m%d_%H%M%S)"
LOG_DIR="${PROJECT_ROOT}/logs/${RUN_ID}"
while [ -d "$LOG_DIR"]; do
tmp_id="$((${tmp_id}+1))"
tmp_id="$((tmp_id + 1))"
new_run="${RUN_ID}_${tmp_id}"
LOG_DIR="${PROJECT_ROOT}/logs/${RUN_ID}"
done
Expand All @@ -19,16 +19,15 @@ BUILD_LOG="${LOG_DIR}/build.log"
RUN_LOG="${LOG_DIR}/run_master.log"
TEST_LOG="${LOG_DIR}/test.log"


stop_and_remove_containers () {
stop_and_remove_containers() {
if [ "$(docker ps -q)" ]; then
docker ps -a -q | xargs docker rm -f &>/dev/null
docker ps -a -q | xargs docker rm -f &>/dev/null
else
echo "No containers to stop and remove."
fi
fi
}

build_and_run_docker () {
build_and_run_docker() {
stop_and_remove_containers
cd "$PROJECT_ROOT"
docker build -t jasminegraph:test . |& tee "$BUILD_LOG"
Expand Down

0 comments on commit 74ec20a

Please sign in to comment.