|
@@ -48,6 +48,7 @@ jobs:
|
|
|
|
|
|
- name: Load Settings.ini
|
|
|
run: |
|
|
|
+ echo ${{matrix.target}}
|
|
|
source "${GITHUB_WORKSPACE}/devices/common/settings.ini"
|
|
|
if [ -f "devices/${{matrix.target}}/settings.ini" ]; then
|
|
|
source "${GITHUB_WORKSPACE}/devices/${{matrix.target}}/settings.ini"
|
|
@@ -115,29 +116,13 @@ jobs:
|
|
|
- name: Clone source code
|
|
|
working-directory: /workdir
|
|
|
run: |
|
|
|
- [ "${{ env.REPO_BRANCH }}" ] ||
|
|
|
- REPO_BRANCH="$((curl -gs -H 'Content-Type: application/json' \
|
|
|
- -H "Authorization: Bearer ${{ secrets.REPO_TOKEN }}" \
|
|
|
- -X POST -d '{ "query": "query {repository(owner: \"openwrt\", name: \"openwrt\") {refs(refPrefix: \"refs/tags/\", last: 4, orderBy: {field: TAG_COMMIT_DATE, direction: ASC}) {edges {node {name}}}}}"}' https://api.github.com/graphql) | jq -r '.data.repository.refs.edges[].node.name' | grep v22 | tail -n 1 | sed -e 's/v//')"
|
|
|
- git clone $REPO_URL -b v$REPO_BRANCH openwrt
|
|
|
- if [[ "${{ contains(github.event.action, 'nosdk') }}" != "true" ]]; then
|
|
|
- cd openwrt
|
|
|
- if [[ ${{matrix.target}} == "x86_64" ]]; then
|
|
|
- curl -fL -m 60 -o sdk.tar.xz https://op.supes.top/releases/targets/x86/64/openwrt-sdk-x86-64_gcc-11.2.0_musl.Linux-x86_64.tar.xz || true
|
|
|
- elif [[ ${{matrix.target}} == "rockchip_armv8" ]]; then
|
|
|
- curl -fL -m 60 -o sdk.tar.xz https://op.supes.top/releases/targets/rockchip/armv8/openwrt-sdk-rockchip-armv8_gcc-11.2.0_musl.Linux-x86_64.tar.xz || true
|
|
|
- elif [[ ${{matrix.target}} == "bcm27xx_bcm2711" ]]; then
|
|
|
- curl -fL -m 60 -o sdk.tar.xz https://op.supes.top/releases/targets/bcm27xx/bcm2711/openwrt-sdk-bcm27xx-bcm2711_gcc-11.2.0_musl.Linux-x86_64.tar.xz || true
|
|
|
- elif [[ ${{matrix.target}} == "armvirt_64" ]]; then
|
|
|
- curl -fL -m 60 -o sdk.tar.xz https://op.supes.top/releases/targets/armvirt/64/openwrt-sdk-armvirt-64_gcc-11.2.0_musl.Linux-x86_64.tar.xz || true
|
|
|
- elif [[ ${{matrix.target}} == "ramips_mt7621" ]]; then
|
|
|
- curl -fL -m 60 -o sdk.tar.xz https://op.supes.top/releases/targets/ramips/mt7621/openwrt-sdk-ramips-mt7621_gcc-11.2.0_musl.Linux-x86_64.tar.xz || true
|
|
|
- elif [[ ${{matrix.target}} == "mediatek_mt7622" ]]; then
|
|
|
- curl -fL -m 60 -o sdk.tar.xz https://op.supes.top/releases/targets/mediatek/mt7622/openwrt-sdk-mediatek-mt7622_gcc-11.2.0_musl.Linux-x86_64.tar.xz || true
|
|
|
- elif [[ ${{matrix.target}} == "ipq807x" ]]; then
|
|
|
- curl -fL -m 60 -o sdk.tar.xz https://op.supes.top/releases/targets/ipq807x/generic/openwrt-sdk-ipq807x-generic_gcc-11.2.0_musl.Linux-x86_64.tar.xz || true
|
|
|
- fi
|
|
|
- fi
|
|
|
+ REPO_BRANCH="$((curl -gs -H 'Content-Type: application/json' \
|
|
|
+ -H "Authorization: Bearer ${{ secrets.REPO_TOKEN }}" \
|
|
|
+ -X POST -d '{ "query": "query {repository(owner: \"openwrt\", name: \"openwrt\") {refs(refPrefix: \"refs/tags/\", last: 4, orderBy: {field: TAG_COMMIT_DATE, direction: ASC}) {edges {node {name}}}}}"}' https://api.github.com/graphql) | jq -r '.data.repository.refs.edges[].node.name' | grep v22 | tail -n 1)"
|
|
|
+ git clone $REPO_URL -b $REPO_BRANCH openwrt
|
|
|
+ [ "${{ env.REPO_BRANCH }}" ] &&
|
|
|
+ cd openwrt
|
|
|
+ git checkout ${{ env.REPO_BRANCH }}
|
|
|
ln -sf /workdir/openwrt $GITHUB_WORKSPACE/openwrt
|
|
|
echo "REPO_BRANCH=$REPO_BRANCH" >> $GITHUB_ENV
|
|
|
echo "$REPO_BRANCH"
|
|
@@ -197,6 +182,13 @@ jobs:
|
|
|
make download -j$(($(nproc)+1)) &
|
|
|
sleep 5
|
|
|
|
|
|
+ - name: Cache
|
|
|
+ uses: klever1988/cachewrtbuild@main
|
|
|
+ with:
|
|
|
+ ccache: 'true'
|
|
|
+ clean: ${{ contains(github.event.action, 'nocache') }}
|
|
|
+ prefix: ${{ github.workspace }}/openwrt
|
|
|
+
|
|
|
- name: Compile the firmware
|
|
|
id: compile
|
|
|
run: |
|
|
@@ -204,9 +196,7 @@ jobs:
|
|
|
echo -e "$(($(nproc)+1)) thread compile"
|
|
|
make -j$(($(nproc)+1)) || (curl -k --data chat_id="${{ env.TELEGRAM_CHAT_ID }}" --data "text=❌ OpenWrt ${{ env.VERSION }} ${{matrix.target}} 编译失败 😂" "https://api.telegram.org/bot${{ env.TELEGRAM_TOKEN }}/sendMessage" ; make -j1 V=s)
|
|
|
sed -i "s/# CONFIG_IB is not set/CONFIG_IB=y/" .config
|
|
|
- make defconfig
|
|
|
- make target/imagebuilder/compile -j$(($(nproc)+1))
|
|
|
- make checksum V=s
|
|
|
+ rm -rf staging_dir/toolchain-*/bin/*openwrt-linux-musl-lto-dump
|
|
|
|
|
|
- name: Check space usage
|
|
|
run: df -hT
|
|
@@ -219,6 +209,7 @@ jobs:
|
|
|
mkdir -p firmware/${{matrix.target}}
|
|
|
cp -rf openwrt/bin/targets/*/*/*{combined,sysupgrade}* ./firmware/${{matrix.target}}/ || true
|
|
|
cd openwrt/bin/targets/*/*/
|
|
|
+ mv -f profiles.json profiles.json.b
|
|
|
cp $GITHUB_WORKSPACE/openwrt/.config ${{matrix.target}}.config || true
|
|
|
cp $GITHUB_WORKSPACE/openwrt/build_dir/target-*/linux-*/linux-*/.config ${{matrix.target}}_kernel.config || true
|
|
|
mv -f packages ${{ env.KERNEL }}
|
|
@@ -280,7 +271,6 @@ jobs:
|
|
|
cd /www/wwwroot/op.supes.top/packages/${{ env.MTARGET }}/
|
|
|
opkg &
|
|
|
|
|
|
- - run: rm -rf ${{ env.REPO_BRANCH }}/targets/*/*/{packages,openwrt-sdk*}
|
|
|
- name: Upload firmware for artifact
|
|
|
uses: actions/upload-artifact@main
|
|
|
continue-on-error: true
|