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