mirror of https://github.com/OpenIPC/firmware.git
Check if we can skip toolchain build
parent
d1c92f0f4a
commit
35f3b686b5
|
@ -17,10 +17,16 @@ on:
|
|||
- '**.md'
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
RELEASES: https://github.com/OpenIPC/firmware/releases/download/latest
|
||||
REPO_NAME: ${{ github.event.repository.name }}
|
||||
|
||||
jobs:
|
||||
toolchain:
|
||||
name: Toolchain
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
NEEDED: true
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
@ -36,13 +42,19 @@ jobs:
|
|||
with:
|
||||
fetch-depth: 0 # OR "2" -> To retrieve the preceding commit.
|
||||
|
||||
- name: Determine toolchain name
|
||||
- name: Determine toolchain name and can we skip build
|
||||
run: |
|
||||
make prepare
|
||||
TOOLNAME=$(make BOARD=unknown_unknown_${{ matrix.platform }}_openipc toolname)
|
||||
echo "TOOLNAME=$TOOLNAME" >> $GITHUB_ENV
|
||||
CHECK=$(curl -o /dev/null --silent -Iw '%{http_code}' \
|
||||
${RELEASES}/${TOOLNAME}.tgz)
|
||||
if [ "$CHECK" != "404" ]; then
|
||||
echo "NEEDED=false" >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
- name: Install build dependencies
|
||||
if: env.NEEDED
|
||||
run: |
|
||||
make install-deps
|
||||
#mkdir -p tmp
|
||||
|
@ -55,12 +67,13 @@ jobs:
|
|||
fi
|
||||
|
||||
- name: Free disk space
|
||||
if: ${{ !env.ACT }}
|
||||
if: ${{ !env.ACT && env.NEEDED }}
|
||||
run: |
|
||||
sudo apt clean
|
||||
docker rmi $(docker image ls -aq)
|
||||
|
||||
- name: Build Buildroot SDK
|
||||
if: env.NEEDED
|
||||
run: |
|
||||
HEAD_TAG=$(git tag --points-at HEAD)
|
||||
GIT_HASH=$(git rev-parse --short $GITHUB_SHA)
|
||||
|
@ -87,13 +100,14 @@ jobs:
|
|||
echo "SDK_PATH=$SDK_PATH" >> $GITHUB_ENV
|
||||
|
||||
- uses: actions/upload-artifact@v3
|
||||
if: ${{ (env.ACT || github.event_name == 'pull_request') && env.NEEDED }}
|
||||
with:
|
||||
name: '${{ env.TOOLNAME }}.tgz'
|
||||
path: ${{ env.SDK_PATH }}
|
||||
retention-days: 1
|
||||
|
||||
- name: Create release
|
||||
if: ${{ !env.ACT && github.event_name != 'pull_request' }}
|
||||
if: ${{ !env.ACT && github.event_name != 'pull_request' && env.NEEDED }}
|
||||
uses: actions/create-release@v1
|
||||
continue-on-error: true
|
||||
env:
|
||||
|
@ -105,7 +119,7 @@ jobs:
|
|||
prerelease: ${{ env.PRERELEASE }}
|
||||
|
||||
- name: Upload SDK to release
|
||||
if: ${{ !env.ACT && github.event_name != 'pull_request' }}
|
||||
if: ${{ !env.ACT && github.event_name != 'pull_request' && env.NEEDED }}
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
@ -204,6 +218,7 @@ jobs:
|
|||
echo "TOOLNAME=$TOOLNAME" >> $GITHUB_ENV
|
||||
|
||||
- uses: actions/download-artifact@v3
|
||||
if: ${{ (env.ACT || github.event_name == 'pull_request') }}
|
||||
with:
|
||||
name: '${{ env.TOOLNAME }}.tgz'
|
||||
|
||||
|
@ -225,6 +240,10 @@ jobs:
|
|||
CONF_PATH=$(find . -name "${BOARD}_defconfig")
|
||||
|
||||
echo Using $TOOLNAME
|
||||
if [ ! -f "$TOOLNAME.tgz" ];
|
||||
wget ${RELEASES}/${TOOLNAME}.tgz
|
||||
fi
|
||||
|
||||
set -x
|
||||
echo "BR2_TOOLCHAIN_EXTERNAL=y" >> $CONF_PATH
|
||||
echo "BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y" >> $CONF_PATH
|
||||
|
|
Loading…
Reference in New Issue