@@ -31,14 +31,14 @@ jobs:
3131 runs-on : ubuntu-20.04
3232
3333 outputs :
34- CURRENT_BRANCH : ${{ steps.clone.outputs.CURRENT_BRANCH }}
3534 OPENWRTROOT : ${{ steps.clone.outputs.OPENWRTROOT }}
36- SOURCE_OWNER : ${{ steps.clone.outputs.SOURCE_OWNER }}
37- SOURCE_REPO : ${{ steps.clone.outputs.SOURCE_REPO }}
38- PLATFORM : ${{ steps.make-env.outputs.PLATFORM }}
39- TARGET : ${{ steps.make-env.outputs.TARGET }}
40- SUBTARGET : ${{ steps.make-env.outputs.SUBTARGET }}
41- TOOLCHAIN_IMAGE : ${{ steps.make-env.outputs.TOOLCHAIN_IMAGE }}
35+ CURRENT_BRANCH : ${{ steps.env.outputs.CURRENT_BRANCH }}
36+ SOURCE_OWNER : ${{ steps.env.outputs.SOURCE_OWNER }}
37+ SOURCE_REPO : ${{ steps.env.outputs.SOURCE_REPO }}
38+ PLATFORM : ${{ steps.env.outputs.PLATFORM }}
39+ TARGET : ${{ steps.env.outputs.TARGET }}
40+ SUBTARGET : ${{ steps.env.outputs.SUBTARGET }}
41+ TOOLCHAIN_IMAGE : ${{ steps.env.outputs.TOOLCHAIN_IMAGE }}
4242
4343 steps :
4444 - name : Initialization Environment
@@ -60,19 +60,43 @@ jobs:
6060 id : clone
6161 run : |
6262 df -hT $PWD
63- export CURRENT_BRANCH="$(git symbolic-ref --short HEAD)"
64- echo "CURRENT_BRANCH=$CURRENT_BRANCH" >> $GITHUB_ENV
65- echo "::set-output name=CURRENT_BRANCH::$(echo $CURRENT_BRANCH)"
6663 git clone $SOURCE_URL -b $SOURCE_BRANCH openwrt
6764 cd openwrt
6865 echo "OPENWRTROOT=$PWD" >> $GITHUB_ENV
6966 echo "::set-output name=OPENWRTROOT::$(echo $PWD)"
67+
68+ - name : Generate Toolchain Config
69+ run : |
70+ [ -e $CONFIG_FILE ] && mv $CONFIG_FILE $OPENWRTROOT/.config
71+ echo "CONFIG_ALL=y" >> $OPENWRTROOT/.config
72+ cd $OPENWRTROOT
73+ make defconfig
74+
75+ - name : Generate Variables
76+ id : env
77+ run : |
78+ export CURRENT_BRANCH="$(git symbolic-ref --short HEAD)"
79+ echo "CURRENT_BRANCH=$CURRENT_BRANCH" >> $GITHUB_ENV
80+ echo "::set-output name=CURRENT_BRANCH::$(echo $CURRENT_BRANCH)"
81+ cd $OPENWRTROOT
7082 export SOURCE_OWNER="$(echo $SOURCE_URL | awk -F '/' '{print $(NF-1)}')"
7183 echo "SOURCE_OWNER=$SOURCE_OWNER" >> $GITHUB_ENV
7284 echo "::set-output name=SOURCE_OWNER::$(echo $SOURCE_OWNER)"
7385 export SOURCE_REPO="$(echo $SOURCE_URL | awk -F '/' '{print $(NF)}')"
7486 echo "SOURCE_REPO=$SOURCE_REPO" >> $GITHUB_ENV
7587 echo "::set-output name=SOURCE_REPO::$(echo $SOURCE_REPO)"
88+ export TARGET=$(cat .config | grep CONFIG_TARGET_BOARD | awk -F '"' '{print $2}')
89+ echo "TARGET=$TARGET" >> $GITHUB_ENV
90+ echo "::set-output name=TARGET::$(echo $TARGET)"
91+ export SUBTARGET=$(cat .config | grep CONFIG_TARGET_SUBTARGET | awk -F '"' '{print $2}')
92+ echo "SUBTARGET=$SUBTARGET" >> $GITHUB_ENV
93+ echo "::set-output name=SUBTARGET::$(echo $SUBTARGET)"
94+ export PLATFORM=$(cat .config | grep CONFIG_TARGET_ARCH_PACKAGES | awk -F '"' '{print $2}')
95+ echo "PLATFORM=$PLATFORM" >> $GITHUB_ENV
96+ echo "::set-output name=PLATFORM::$(echo $PLATFORM)"
97+ export TOOLCHAIN_IMAGE="toolchain-$SOURCE_OWNER-$SOURCE_REPO-$SOURCE_BRANCH-$TARGET-$SUBTARGET"
98+ echo "TOOLCHAIN_IMAGE=$TOOLCHAIN_IMAGE" >> $GITHUB_ENV
99+ echo "::set-output name=TOOLCHAIN_IMAGE::$(echo $TOOLCHAIN_IMAGE)"
76100
77101 - name : Compare Toolchain Hash
78102 id : hash
@@ -82,19 +106,12 @@ jobs:
82106 echo "CURRENT_HASH=$CURRENT_HASH" >> $GITHUB_ENV
83107 echo "::set-output name=CURRENT_HASH::$(echo $CURRENT_HASH)"
84108 echo "CURRENT_HASH is $CURRENT_HASH"
85- export CACHE_HASH=$(curl -fSsL https://github.com/$GITHUB_REPOSITORY/releases/download/$TOOLCHAIN_TAG/toolchain-$SOURCE_OWNER-$SOURCE_REPO-$SOURCE_BRANCH-$TARGET-$SUBTARGET .hash)
109+ export CACHE_HASH=$(curl -fSsL https://github.com/$GITHUB_REPOSITORY/releases/download/$TOOLCHAIN_TAG/$TOOLCHAIN_IMAGE .hash)
86110 echo "CACHE_HASH is $CACHE_HASH"
87111 if [ -z "$CACHE_HASH" ] || [ "$CURRENT_HASH" != "$CACHE_HASH" ]; then
88112 echo "::set-output name=REBUILD_TOOLCHAIN::true"
89113 fi
90114
91- - name : Generate Toolchain Config
92- run : |
93- [ -e $CONFIG_FILE ] && mv $CONFIG_FILE $OPENWRTROOT/.config
94- echo "CONFIG_ALL=y" >> $OPENWRTROOT/.config
95- cd $OPENWRTROOT
96- make defconfig
97-
98115 - name : Install Feeds
99116 if : steps.hash.outputs.REBUILD_TOOLCHAIN == 'true'
100117 run : |
@@ -115,24 +132,7 @@ jobs:
115132 cd $OPENWRTROOT
116133 echo -e "$(nproc) thread compile"
117134 make toolchain/compile -j$(nproc) || make toolchain/compile -j1 V=s
118-
119- - name : Generate Variables
120- id : make-env
121- run : |
122- cd $OPENWRTROOT
123- export TARGET=$(cat .config | grep CONFIG_TARGET_BOARD | awk -F '"' '{print $2}')
124- echo "TARGET=$TARGET" >> $GITHUB_ENV
125- echo "::set-output name=TARGET::$(echo $TARGET)"
126- export SUBTARGET=$(cat .config | grep CONFIG_TARGET_SUBTARGET | awk -F '"' '{print $2}')
127- echo "SUBTARGET=$SUBTARGET" >> $GITHUB_ENV
128- echo "::set-output name=SUBTARGET::$(echo $SUBTARGET)"
129- export PLATFORM=$(cat .config | grep CONFIG_TARGET_ARCH_PACKAGES | awk -F '"' '{print $2}')
130- echo "PLATFORM=$PLATFORM" >> $GITHUB_ENV
131- echo "::set-output name=PLATFORM::$(echo $PLATFORM)"
132- export TOOLCHAIN_IMAGE="toolchain-$SOURCE_OWNER-$SOURCE_REPO-$SOURCE_BRANCH-$TARGET-$SUBTARGET"
133- echo "TOOLCHAIN_IMAGE=$TOOLCHAIN_IMAGE" >> $GITHUB_ENV
134- echo "::set-output name=TOOLCHAIN_IMAGE::$(echo $TOOLCHAIN_IMAGE)"
135- rm -rf .config dl bin
135+ rm -rf .config* dl bin
136136
137137 - name : Generate Toolchain Image
138138 if : steps.hash.outputs.REBUILD_TOOLCHAIN == 'true'
0 commit comments