@@ -7,26 +7,102 @@ if ! [ -x "$(command -v $SED)" ]; then
77 exit 1
88fi
99
10+ #
11+ # CLONE ESP-IDF
12+ #
13+
1014if [ -z " $IDF_PATH " ]; then
1115 echo " ESP-IDF is not installed! Installing local copy"
16+ idf_was_installed=" 1"
1217 if ! [ -d esp-idf ]; then
13- git clone $IDF_REPO -b $IDF_BRANCH
18+ git clone $IDF_REPO_URL -b $IDF_BRANCH
1419 fi
1520 export IDF_PATH=" $AR_ROOT /esp-idf"
16- cd $IDF_PATH
17- git fetch origin && git pull origin $IDF_BRANCH
18- git submodule update --init --recursive
19- python -m pip install -r requirements.txt
20- cd " $AR_ROOT "
2121fi
2222
2323if [ " $IDF_COMMIT " ]; then
24- git -C $IDF_PATH checkout $IDF_COMMIT
25- git -C $IDF_PATH submodule update
24+ git -C " $IDF_PATH " checkout " $IDF_COMMIT "
25+ commit_predefined=" 1"
26+ fi
27+
28+ export IDF_COMMIT=$( git -C " $IDF_PATH " rev-parse --short HEAD)
29+ export IDF_BRANCH=$( git -C " $IDF_PATH " symbolic-ref --short HEAD)
30+
31+ #
32+ # SETUP ARDUINO DEPLOY
33+ #
34+
35+ if [ " $GITHUB_EVENT_NAME " == " schedule" ] || [ " $GITHUB_EVENT_NAME " == " repository_dispatch" -a " $GITHUB_EVENT_ACTION " == " deploy" ]; then
36+ # format new branch name and pr title
37+ if [ -x $commit_predefined ]; then # commit was not specified at build time
38+ AR_NEW_BRANCH_NAME=" idf-$IDF_BRANCH "
39+ AR_NEW_COMMIT_MESSAGE=" IDF $IDF_BRANCH $IDF_COMMIT "
40+ AR_NEW_PR_TITLE=" IDF $IDF_BRANCH "
41+ else
42+ AR_NEW_BRANCH_NAME=" idf-$IDF_COMMIT "
43+ AR_NEW_COMMIT_MESSAGE=" IDF $IDF_COMMIT "
44+ AR_NEW_PR_TITLE=" $AR_NEW_COMMIT_MESSAGE "
45+ fi
46+
47+ AR_HAS_COMMIT=` git_commit_exists " $AR_COMPS /arduino" " $AR_NEW_COMMIT_MESSAGE " `
48+ AR_HAS_BRANCH=` git_branch_exists " $AR_COMPS /arduino" " $AR_NEW_BRANCH_NAME " `
49+ AR_HAS_PR=` git_pr_exists " $AR_NEW_BRANCH_NAME " `
50+
51+ if [ " $AR_HAS_COMMIT " == " 1" ]; then
52+ echo " Commit '$AR_NEW_COMMIT_MESSAGE ' Already Exists"
53+ exit 0
54+ fi
55+
56+ if [ " $AR_HAS_BRANCH " == " 1" ]; then
57+ echo " Branch '$AR_NEW_BRANCH_NAME ' Already Exists"
58+ fi
59+
60+ if [ " $AR_HAS_PR " == " 1" ]; then
61+ echo " PR '$AR_NEW_PR_TITLE ' Already Exists"
62+ fi
63+
64+ # setup git for pushing
65+ git config --global github.user " $GITHUB_ACTOR "
66+ git config --global user.name " $GITHUB_ACTOR "
67+ git config --global user.email " $GITHUB_ACTOR @github.com"
68+
69+ # create or checkout the branch
70+ if [ ! $AR_HAS_BRANCH == " 0" ]; then
71+ echo " Switching to arduino branch '$AR_NEW_BRANCH_NAME '..."
72+ git -C " $AR_COMPS /arduino" checkout $AR_NEW_BRANCH_NAME
73+ else
74+ echo " Creating arduino branch '$AR_NEW_BRANCH_NAME '..."
75+ git -C " $AR_COMPS /arduino" checkout -b $AR_NEW_BRANCH_NAME
76+ fi
77+ if [ $? -ne 0 ]; then
78+ echo " ERROR: Checkout of branch '$AR_NEW_BRANCH_NAME ' failed"
79+ exit 1
80+ fi
81+
82+ export AR_NEW_BRANCH_NAME
83+ export AR_NEW_COMMIT_MESSAGE
84+ export AR_NEW_PR_TITLE
85+
86+ export AR_HAS_COMMIT
87+ export AR_HAS_BRANCH
88+ export AR_HAS_PR
89+ fi
90+
91+ #
92+ # UPDATE IDF MODULES
93+ #
94+
95+ if [ -x $idf_was_installed ]; then
96+ git -C $IDF_PATH fetch origin && git -C $IDF_PATH pull origin $IDF_BRANCH
97+ git -C $IDF_PATH submodule update --init --recursive
98+ else
99+ git -C $IDF_PATH submodule update --init --recursive
100+ cd $IDF_PATH && python -m pip install -r requirements.txt && cd " $AR_ROOT "
26101fi
27102
28- export IDF_COMMIT=$( git -C $IDF_PATH rev-parse --short HEAD)
29- export IDF_BRANCH=$( git -C $IDF_PATH symbolic-ref --short HEAD)
103+ #
104+ # INSTALL TOOLCHAIN
105+ #
30106
31107if ! [ -x " $( command -v $IDF_TOOLCHAIN -gcc) " ]; then
32108 echo " GCC toolchain is not installed! Installing local copy"
0 commit comments