diff --git a/entrypoint.sh b/entrypoint.sh index fdb47ae..85810d7 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -40,9 +40,9 @@ function set_git_safe_dir { exit 1 fi - echo "Add repo to safe.directory: $1" - echo "$ git config --global --add safe.directory $1" - git config --global --add safe.directory $1 + echo "Add repo to safe.directory: \"$1\"" + echo "$ git config --global --add safe.directory \"$1\"" + git config --global --add safe.directory "$1" } # Setup GIT Remote URL with github token @@ -59,20 +59,20 @@ function update_github_token { # Clone ELL function clone_ell { # remove if already exist - DEST_DIR=$1 - rm -rf $DEST_DIR - git clone --depth=1 https://git.kernel.org/pub/scm/libs/ell/ell $DEST_DIR - cd $DEST_DIR + DEST_DIR="$1" + rm -rf "$DEST_DIR" + git clone --depth=1 https://git.kernel.org/pub/scm/libs/ell/ell "$DEST_DIR" + cd "$DEST_DIR" git log -1 --format='%H' } # Clone BlueZ function clone_bluez { # remove if already exist - DEST_DIR=$1 - rm -rf $DEST_DIR - git clone --depth=1 https://git.kernel.org/pub/scm/bluetooth/bluez $DEST_DIR - cd $DEST_DIR + DEST_DIR="$1" + rm -rf "$DEST_DIR" + git clone --depth=1 https://git.kernel.org/pub/scm/bluetooth/bluez "$DEST_DIR" + cd "$DEST_DIR" git log -1 --format='%H' } @@ -109,19 +109,19 @@ case $TASK in echo "Task: Sync Repo" # requires GITHUB_TOKEN check_github_token - set_git_safe_dir $GITHUB_WORKSPACE + set_git_safe_dir "$GITHUB_WORKSPACE" # calling sync_repo # param: upstream_repo # param: upstream_branch # param: origin_branch # param: workflow - /sync_repo.sh $UPSTREAM_REPO $UPSTREAM_BRANCH $ORIGIN_BRANCH $WORKFLOW + /sync_repo.sh "$UPSTREAM_REPO" "$UPSTREAM_BRANCH" "$ORIGIN_BRANCH" "$WORKFLOW" ;; cleanup|Cleanup|CLENAUP) echo "Task: Clean Up PR" # requires GITHUB_TOKEN check_github_token - /cleanup_pr.py $GITHUB_REPOSITORY + /cleanup_pr.py "$GITHUB_REPOSITORY" ;; patchwork|Patchwork|PATCHWORK) echo "Task: Sync Patchwork" @@ -129,10 +129,10 @@ case $TASK in check_github_token check_email_token check_patchwork_token - set_git_safe_dir $GITHUB_WORKSPACE - update_github_token $GITHUB_REPOSITORY + set_git_safe_dir "$GITHUB_WORKSPACE" + update_github_token "$GITHUB_REPOSITORY" # calling sync_patchwork.py - /sync_patchwork.py -c /config.json -b $WORKFLOW -s $GITHUB_WORKSPACE $SPACE $GITHUB_REPOSITORY + /sync_patchwork.py -c /config.json -b "$WORKFLOW" -s "$GITHUB_WORKSPACE" "$SPACE" "$GITHUB_REPOSITORY" ;; ci|CI|Ci) echo "Task: CI" @@ -146,26 +146,26 @@ case $TASK in echo "Target PR: $PR" # For CI, assume that source is cloned under src - set_git_safe_dir $GITHUB_WORKSPACE/$BASE_DIR/src - - clone_ell $GITHUB_WORKSPACE/$BASE_DIR/ell - set_git_safe_dir $GITHUB_WORKSPACE/$BASE_DIR/ell - - mkdir $GITHUB_WORKSPACE/$BASE_DIR/patch - - if [ $SPACE == "kernel" ]; then - clone_bluez $GITHUB_WORKSPACE/$BASE_DIR/bluez - set_git_safe_dir $GITHUB_WORKSPACE/$BASE_DIR/bluez - /ci.py -c /config.json -z $GITHUB_WORKSPACE/$BASE_DIR/bluez \ - -e $GITHUB_WORKSPACE/$BASE_DIR/ell \ - -k $GITHUB_WORKSPACE/$BASE_DIR/src \ - -p $GITHUB_WORKSPACE/$BASE_DIR/patch \ - kernel $GITHUB_REPOSITORY $PR - elif [ $SPACE == "user" ]; then - /ci.py -c /config.json -z $GITHUB_WORKSPACE/$BASE_DIR/src \ - -e $GITHUB_WORKSPACE/$BASE_DIR/ell \ - -p $GITHUB_WORKSPACE/$BASE_DIR/patch \ - user $GITHUB_REPOSITORY $PR + set_git_safe_dir "$GITHUB_WORKSPACE/$BASE_DIR/src" + + clone_ell "$GITHUB_WORKSPACE/$BASE_DIR/ell" + set_git_safe_dir "$GITHUB_WORKSPACE/$BASE_DIR/ell" + + mkdir "$GITHUB_WORKSPACE/$BASE_DIR/patch" + + if [ "$SPACE" == "kernel" ]; then + clone_bluez "$GITHUB_WORKSPACE/$BASE_DIR/bluez" + set_git_safe_dir "$GITHUB_WORKSPACE/$BASE_DIR/bluez" + /ci.py -c /config.json -z "$GITHUB_WORKSPACE/$BASE_DIR/bluez" \ + -e "$GITHUB_WORKSPACE/$BASE_DIR/ell" \ + -k "$GITHUB_WORKSPACE/$BASE_DIR/src" \ + -p "$GITHUB_WORKSPACE/$BASE_DIR/patch" \ + kernel "$GITHUB_REPOSITORY" "$PR" + elif [ "$SPACE" == "user" ]; then + /ci.py -c /config.json -z "$GITHUB_WORKSPACE/$BASE_DIR/src" \ + -e "$GITHUB_WORKSPACE/$BASE_DIR/ell" \ + -p "$GITHUB_WORKSPACE/$BASE_DIR/patch" \ + user "$GITHUB_REPOSITORY" "$PR" else echo "Unknown SPACE: $SPACE" exit 1 @@ -173,7 +173,7 @@ case $TASK in ;; *) echo "Unknown TASK: $TASK" - eixt 1 + exit 1 ;; esac diff --git a/sync_repo.sh b/sync_repo.sh index de2a39a..c1c730c 100755 --- a/sync_repo.sh +++ b/sync_repo.sh @@ -13,23 +13,23 @@ ORIGIN_BRANCH=$3 WORKFLOW_BRANCH=$4 echo ">>> Setup repo" -echo "$ git checkout $ORIGIN_BRANCH" -git checkout $ORIGIN_BRANCH -echo "$ git remote set-url origin $GITHUB_REPOSITORY" +echo "$ git checkout \"$ORIGIN_BRANCH\"" +git checkout "$ORIGIN_BRANCH" +echo "$ git remote set-url origin \"$GITHUB_REPOSITORY\"" git remote set-url origin "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$GITHUB_REPOSITORY" -echo "$ git remote add upstream $UPSTREAM_REPO" +echo "$ git remote add upstream \"$UPSTREAM_REPO\"" git remote add upstream "$UPSTREAM_REPO" -echo "$ git fetch upstream $UPSTREAM_BRANCH" -git fetch upstream $UPSTREAM_BRANCH +echo "$ git fetch upstream \"$UPSTREAM_BRANCH\"" +git fetch upstream "$UPSTREAM_BRANCH" echo ">>> Check Origin and Upstream" -ORIGIN_HEAD=$(git log -1 --format=%H origin/$ORIGIN_BRANCH) -echo "ORIGIN_HEAD: $ORIGIN_HEAD" -UPSTREAM_HEAD=$(git log -1 --format=%H upstream/$UPSTREAM_BRANCH) -echo "UPSTREAM_HEAD: $UPSTREAM_HEAD" +ORIGIN_HEAD=$(git log -1 --format=%H "origin/$ORIGIN_BRANCH") +echo "ORIGIN_HEAD: \"$ORIGIN_HEAD\"" +UPSTREAM_HEAD=$(git log -1 --format=%H "upstream/$UPSTREAM_BRANCH") +echo "UPSTREAM_HEAD: \"$UPSTREAM_HEAD\"" if [ "$ORIGIN_HEAD" = "$UPSTREAM_HEAD" ]; then - echo "Repos are already synched. Eixt..." + echo "Repos are already synched. Exit..." exit 0 fi echo "Repos are NOT synced. Need to merge..." @@ -46,13 +46,13 @@ git push -f origin "refs/tags/*" echo ">>> Rebase workflow commits onto updated master" # Fetch the updated origin to get the new master ref -echo "$ git fetch origin $ORIGIN_BRANCH $WORKFLOW_BRANCH" -git fetch origin $ORIGIN_BRANCH $WORKFLOW_BRANCH +echo "$ git fetch origin \"$ORIGIN_BRANCH\" \"$WORKFLOW_BRANCH\"" +git fetch origin "$ORIGIN_BRANCH" "$WORKFLOW_BRANCH" # Find workflow-only commits: those that touch .github/ and are unique to # the workflow branch (not in master). We filter by path to avoid picking # up old Bluetooth commits that may linger if the branches had diverged. -WORKFLOW_COMMITS=$(git log --reverse --format=%H origin/$ORIGIN_BRANCH..origin/$WORKFLOW_BRANCH -- .github/) +WORKFLOW_COMMITS=$(git log --reverse --format=%H "origin/$ORIGIN_BRANCH..origin/$WORKFLOW_BRANCH" -- .github/) COMMIT_COUNT=$(echo "$WORKFLOW_COMMITS" | grep -c . || true) echo "Found $COMMIT_COUNT workflow commit(s) to rebase" @@ -61,19 +61,19 @@ if [ "$COMMIT_COUNT" -eq 0 ]; then exit 1 fi -echo "$ git checkout -b $WORKFLOW_BRANCH origin/$ORIGIN_BRANCH" -git checkout -b $WORKFLOW_BRANCH origin/$ORIGIN_BRANCH +echo "$ git checkout -b \"$WORKFLOW_BRANCH\" \"origin/$ORIGIN_BRANCH\"" +git checkout -b "$WORKFLOW_BRANCH" "origin/$ORIGIN_BRANCH" echo "$ git branch" git branch for SHA in $WORKFLOW_COMMITS; do - SUBJECT=$(git log -1 --format=%s $SHA) + SUBJECT=$(git log -1 --format=%s "$SHA") echo "Cherry-picking: $SHA ($SUBJECT)" - git cherry-pick $SHA + git cherry-pick "$SHA" done -echo "$ git push -f origin $WORKFLOW_BRANCH" -git push -f origin $WORKFLOW_BRANCH +echo "$ git push -f origin \"$WORKFLOW_BRANCH\"" +git push -f origin "$WORKFLOW_BRANCH" echo ">>> Done Exit" exit 0