From 405d577fec4c47aebb9fc68b81b0ef90d46b077f Mon Sep 17 00:00:00 2001 From: Dmitry Ilyin Date: Sat, 13 Aug 2022 15:29:02 +0300 Subject: [PATCH] Test gather all hi3516ev200 family to matrix --- .github/CODEOWNERS | 12 ++ .github/workflows/hi3516dv200_images.yml | 149 ------------------ .github/workflows/hi3516ev200_fpv_images.yml | 130 --------------- .github/workflows/hi3516ev200_images.yml | 149 ------------------ ...mate_images.yml => hi3516ev200_matrix.yml} | 108 +++++++++---- .../workflows/hi3516ev200_ultimate_images.yml | 148 ----------------- .github/workflows/hi3516ev300_fpv_images.yml | 130 --------------- .github/workflows/hi3516ev300_images.yml | 149 ------------------ .github/workflows/hi3518ev300_images.yml | 149 ------------------ .../workflows/hi3518ev300_ultimate_images.yml | 148 ----------------- 10 files changed, 89 insertions(+), 1183 deletions(-) create mode 100644 .github/CODEOWNERS delete mode 100644 .github/workflows/hi3516dv200_images.yml delete mode 100644 .github/workflows/hi3516ev200_fpv_images.yml delete mode 100644 .github/workflows/hi3516ev200_images.yml rename .github/workflows/{hi3516ev300_ultimate_images.yml => hi3516ev200_matrix.yml} (58%) delete mode 100644 .github/workflows/hi3516ev200_ultimate_images.yml delete mode 100644 .github/workflows/hi3516ev300_fpv_images.yml delete mode 100644 .github/workflows/hi3516ev300_images.yml delete mode 100644 .github/workflows/hi3518ev300_images.yml delete mode 100644 .github/workflows/hi3518ev300_ultimate_images.yml diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 00000000..3df7fb5b --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,12 @@ +## @file +# CODEOWNERS +# +# Copyright (c) 2022, Intel Corporation. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent +## + +* @ZigFisher +* @p0i5k +* @cronyx +* @dimerr +* @widgetii diff --git a/.github/workflows/hi3516dv200_images.yml b/.github/workflows/hi3516dv200_images.yml deleted file mode 100644 index 5b14b323..00000000 --- a/.github/workflows/hi3516dv200_images.yml +++ /dev/null @@ -1,149 +0,0 @@ -name: "Hi3516Dv200 " - -on: - push: - branches: - - production - tags: - - "v*" - schedule: - - cron: "00 03 * * *" - workflow_dispatch: - -jobs: - build_core: - name: OpenIPC firmware for Hi3516Dv200 - runs-on: ubuntu-latest - - steps: - - - name: Checkout - id: checkout - uses: actions/checkout@v2 - - - name: Install build dependencies - run: | - make install-deps - mkdir -p tmp - if [ ! -z "$ACT" ]; then - apt install -y cpio rsync bc - echo "FORCE_UNSAFE_CONFIGURE=1" >> $GITHUB_ENV - # Mitigate #325 issue - apt install -y pip && pip install cmake - fi - - - name: Free disk space - if: ${{ !env.ACT }} - run: | - sudo swapoff -a - sudo rm -f /swapfile - sudo apt clean - docker rmi $(docker image ls -aq) - df -h - - - name: Prepare buildroot - id: prepare - run: | - HEAD_TAG=$(git tag --points-at HEAD) - GIT_HASH=$(git rev-parse --short $GITHUB_SHA) - BRANCH_NAME=$(echo $GITHUB_REF | cut -d'/' -f 3) - if [ -z "$HEAD_TAG" ]; then - TAG_NAME="latest" - RELEASE_NAME="Development Build" - PRERELEASE=true - else - TAG_NAME=${{ github.ref }} - RELEASE_NAME="Release ${{ github.ref }}" - PRERELEASE=false - fi - echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV - echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV - echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV - echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV - echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV - cd $GITHUB_WORKSPACE - make prepare - - - name: Build Hi3516Dv200 firmware - id: build-hi3516dv200-firmware - continue-on-error: true - run: | - ARCHIVE_FW="${GITHUB_WORKSPACE}/output/images/openipc.hi3516dv200-br.tgz" - echo "ARCHIVE_FW=$ARCHIVE_FW" >> $GITHUB_ENV - cd $GITHUB_WORKSPACE - make PLATFORM=hisilicon BOARD=unknown_unknown_hi3516dv200_openipc all - [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 2097152 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) vs 2097152... HI3516DV200" >> $GITHUB_ENV && exit 1 - [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 5242880 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 5242880... HI3516DV200" >> $GITHUB_ENV && exit 1 - cd ${GITHUB_WORKSPACE}/output/images - mv uImage uImage.hi3516dv200 - mv rootfs.squashfs rootfs.squashfs.hi3516dv200 - md5sum rootfs.squashfs.hi3516dv200 > rootfs.squashfs.hi3516dv200.md5sum - md5sum uImage.hi3516dv200 > uImage.hi3516dv200.md5sum - tar -cvzf $ARCHIVE_FW *hi3516dv200* - - - name: Build Hi3516Dv200 SDK - id: build-hi3516dv200-sdk - continue-on-error: true - run: | - ARCHIVE_SDK="${GITHUB_WORKSPACE}/output/images/arm-openipc-linux-musleabi_sdk-buildroot.tar.gz" - echo "ARCHIVE_SDK=$ARCHIVE_SDK" >> $GITHUB_ENV - cd $GITHUB_WORKSPACE/output - make sdk - - - name: Send error message to telegram channel - env: - TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }} - TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }} - if: steps.build-hi3516dv200-firmware.outcome != 'success' || steps.build-hi3516dv200-sdk.outcome != 'success' - run: | - TG_OPTIONS="-s --connect-timeout 30 --max-time 30" - TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... HI3516DV200}" - TG_HEADER=$(echo -e "\r\n$TG_NOTIFY \r\n\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions") - curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendMessage \ - -F chat_id=$TG_CHANNEL -F text="$TG_HEADER" - exit 2 - - - name: Create release - if: ${{ !env.ACT }} - uses: actions/create-release@v1 - continue-on-error: true - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ env.TAG_NAME }} - release_name: ${{ env.RELEASE_NAME }} - draft: false - prerelease: ${{ env.PRERELEASE }} - - - name: Upload NOR FW to release - if: ${{ !env.ACT }} - uses: svenstaro/upload-release-action@v2 - continue-on-error: true - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ env.ARCHIVE_FW }} - asset_name: "openipc.hi3516dv200-br.tgz" - tag: ${{ env.TAG_NAME }} - overwrite: true - - - name: Upload SDK to release - if: ${{ !env.ACT }} - uses: svenstaro/upload-release-action@v2 - continue-on-error: true - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ env.ARCHIVE_SDK }} - asset_name: "arm-openipc-hi3516dv200-linux-musleabi_sdk-buildroot.tar.gz" - tag: ${{ env.TAG_NAME }} - overwrite: true - - - name: Send binary file to telegram channel - if: ${{ !env.ACT }} - env: - TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }} - TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }} - run: | - TG_OPTIONS="-s --connect-timeout 30 --max-time 30" - TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions") - curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendDocument \ - -F chat_id=$TG_CHANNEL -F document="@$ARCHIVE_FW" -F caption="$TG_HEADER" diff --git a/.github/workflows/hi3516ev200_fpv_images.yml b/.github/workflows/hi3516ev200_fpv_images.yml deleted file mode 100644 index d095dadd..00000000 --- a/.github/workflows/hi3516ev200_fpv_images.yml +++ /dev/null @@ -1,130 +0,0 @@ -name: "Hi3516Ev200 (fpv)" - -on: - push: - branches: - - production - tags: - - "v*" - schedule: - - cron: "00 03 * * *" - workflow_dispatch: - -jobs: - build_core: - name: OpenIPC firmware for Hi3516Ev200 (fpv) - runs-on: ubuntu-latest - - steps: - - - name: Checkout - id: checkout - uses: actions/checkout@v2 - - - name: Install build dependencies - run: | - make install-deps - mkdir -p tmp - if [ ! -z "$ACT" ]; then - apt install -y cpio rsync bc - echo "FORCE_UNSAFE_CONFIGURE=1" >> $GITHUB_ENV - # Mitigate #325 issue - apt install -y pip && pip install cmake - fi - - - name: Free disk space - if: ${{ !env.ACT }} - run: | - sudo swapoff -a - sudo rm -f /swapfile - sudo apt clean - docker rmi $(docker image ls -aq) - df -h - - - name: Prepare buildroot - id: prepare - run: | - HEAD_TAG=$(git tag --points-at HEAD) - GIT_HASH=$(git rev-parse --short $GITHUB_SHA) - BRANCH_NAME=$(echo $GITHUB_REF | cut -d'/' -f 3) - if [ -z "$HEAD_TAG" ]; then - TAG_NAME="latest" - RELEASE_NAME="Development Build" - PRERELEASE=true - else - TAG_NAME=${{ github.ref }} - RELEASE_NAME="Release ${{ github.ref }}" - PRERELEASE=false - fi - echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV - echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV - echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV - echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV - echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV - echo "BOARD=hi3516ev200" >> $GITHUB_ENV - cd $GITHUB_WORKSPACE - make prepare - - - name: Build Hi3516Ev200 (fpv) firmware - id: build-hi3516ev200-fpv-firmware - continue-on-error: true - run: | - ARCHIVE_FW="${GITHUB_WORKSPACE}/output/images/openipc.${BOARD}-fpv-br.tgz" - echo "ARCHIVE_FW=$ARCHIVE_FW" >> $GITHUB_ENV - cd $GITHUB_WORKSPACE - make PLATFORM=hisilicon BOARD=unknown_unknown_${BOARD}_fpv all - [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 3145728 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) ... ${BOARD} (fpv)" >> $GITHUB_ENV && exit 1 - [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 10485760 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 10485760... ${BOARD} (fpv)" >> $GITHUB_ENV && exit 1 - cd ${GITHUB_WORKSPACE}/output/images - mv uImage uImage.${BOARD} - mv rootfs.squashfs rootfs.squashfs.${BOARD} - md5sum rootfs.squashfs.${BOARD} > rootfs.squashfs.${BOARD}.md5sum - md5sum uImage.${BOARD} > uImage.${BOARD}.md5sum - tar -cvzf $ARCHIVE_FW uImage* *rootfs.squashfs.${BOARD}* - - - name: Send error message to telegram channel - env: - TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }} - TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }} - if: steps.build-hi3516ev200-fpv-firmware.outcome != 'success' - run: | - TG_OPTIONS="-s --connect-timeout 30 --max-time 30" - TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... ${BOARD} (fpv)}" - TG_HEADER=$(echo -e "\r\n$TG_NOTIFY \r\n\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions") - curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendMessage \ - -F chat_id=$TG_CHANNEL -F text="$TG_HEADER" - exit 2 - - - name: Create release - if: ${{ !env.ACT }} - uses: actions/create-release@v1 - continue-on-error: true - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ env.TAG_NAME }} - release_name: ${{ env.RELEASE_NAME }} - draft: false - prerelease: ${{ env.PRERELEASE }} - - - name: Upload NOR FW to release - if: ${{ !env.ACT }} - uses: svenstaro/upload-release-action@v2 - continue-on-error: true - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ env.ARCHIVE_FW }} - asset_name: openipc.${{ env.BOARD }}-fpv-br.tgz - tag: ${{ env.TAG_NAME }} - overwrite: true - - - name: Send binary file to telegram channel - if: ${{ !env.ACT }} - env: - TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }} - TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }} - run: | - TG_OPTIONS="-s --connect-timeout 30 --max-time 30" - TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions") - curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendDocument \ - -F chat_id=$TG_CHANNEL -F document="@$ARCHIVE_FW" -F caption="$TG_HEADER" diff --git a/.github/workflows/hi3516ev200_images.yml b/.github/workflows/hi3516ev200_images.yml deleted file mode 100644 index 67b8cf3f..00000000 --- a/.github/workflows/hi3516ev200_images.yml +++ /dev/null @@ -1,149 +0,0 @@ -name: "Hi3516Ev200 " - -on: - push: - branches: - - production - tags: - - "v*" - schedule: - - cron: "00 03 * * *" - workflow_dispatch: - -jobs: - build_core: - name: OpenIPC firmware for Hi3516Ev200 - runs-on: ubuntu-latest - - steps: - - - name: Checkout - id: checkout - uses: actions/checkout@v2 - - - name: Install build dependencies - run: | - make install-deps - mkdir -p tmp - if [ ! -z "$ACT" ]; then - apt install -y cpio rsync bc - echo "FORCE_UNSAFE_CONFIGURE=1" >> $GITHUB_ENV - # Mitigate #325 issue - apt install -y pip && pip install cmake - fi - - - name: Free disk space - if: ${{ !env.ACT }} - run: | - sudo swapoff -a - sudo rm -f /swapfile - sudo apt clean - docker rmi $(docker image ls -aq) - df -h - - - name: Prepare buildroot - id: prepare - run: | - HEAD_TAG=$(git tag --points-at HEAD) - GIT_HASH=$(git rev-parse --short $GITHUB_SHA) - BRANCH_NAME=$(echo $GITHUB_REF | cut -d'/' -f 3) - if [ -z "$HEAD_TAG" ]; then - TAG_NAME="latest" - RELEASE_NAME="Development Build" - PRERELEASE=true - else - TAG_NAME=${{ github.ref }} - RELEASE_NAME="Release ${{ github.ref }}" - PRERELEASE=false - fi - echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV - echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV - echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV - echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV - echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV - cd $GITHUB_WORKSPACE - make prepare - - - name: Build Hi3516Ev200 firmware - id: build-hi3516ev200-firmware - continue-on-error: true - run: | - ARCHIVE_FW="${GITHUB_WORKSPACE}/output/images/openipc.hi3516ev200-br.tgz" - echo "ARCHIVE_FW=$ARCHIVE_FW" >> $GITHUB_ENV - cd $GITHUB_WORKSPACE - make PLATFORM=hisilicon BOARD=unknown_unknown_hi3516ev200_openipc all - [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 2097152 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) vs 2097152... HI3516EV200" >> $GITHUB_ENV && exit 1 - [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 5242880 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 5242880... HI3516EV200" >> $GITHUB_ENV && exit 1 - cd ${GITHUB_WORKSPACE}/output/images - mv uImage uImage.hi3516ev200 - mv rootfs.squashfs rootfs.squashfs.hi3516ev200 - md5sum rootfs.squashfs.hi3516ev200 > rootfs.squashfs.hi3516ev200.md5sum - md5sum uImage.hi3516ev200 > uImage.hi3516ev200.md5sum - tar -cvzf $ARCHIVE_FW *hi3516ev200* - - - name: Build Hi3516Ev200 SDK - id: build-hi3516ev200-sdk - continue-on-error: true - run: | - ARCHIVE_SDK="${GITHUB_WORKSPACE}/output/images/arm-openipc-linux-musleabi_sdk-buildroot.tar.gz" - echo "ARCHIVE_SDK=$ARCHIVE_SDK" >> $GITHUB_ENV - cd $GITHUB_WORKSPACE/output - make sdk - - - name: Send error message to telegram channel - env: - TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }} - TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }} - if: steps.build-hi3516ev200-firmware.outcome != 'success' || steps.build-hi3516ev200-sdk.outcome != 'success' - run: | - TG_OPTIONS="-s --connect-timeout 30 --max-time 30" - TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... HI3516EV200}" - TG_HEADER=$(echo -e "\r\n$TG_NOTIFY \r\n\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions") - curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendMessage \ - -F chat_id=$TG_CHANNEL -F text="$TG_HEADER" - exit 2 - - - name: Create release - if: ${{ !env.ACT }} - uses: actions/create-release@v1 - continue-on-error: true - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ env.TAG_NAME }} - release_name: ${{ env.RELEASE_NAME }} - draft: false - prerelease: ${{ env.PRERELEASE }} - - - name: Upload NOR FW to release - if: ${{ !env.ACT }} - uses: svenstaro/upload-release-action@v2 - continue-on-error: true - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ env.ARCHIVE_FW }} - asset_name: "openipc.hi3516ev200-br.tgz" - tag: ${{ env.TAG_NAME }} - overwrite: true - - - name: Upload SDK to release - if: ${{ !env.ACT }} - uses: svenstaro/upload-release-action@v2 - continue-on-error: true - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ env.ARCHIVE_SDK }} - asset_name: "arm-openipc-hi3516ev200-linux-musleabi_sdk-buildroot.tar.gz" - tag: ${{ env.TAG_NAME }} - overwrite: true - - - name: Send binary file to telegram channel - if: ${{ !env.ACT }} - env: - TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }} - TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }} - run: | - TG_OPTIONS="-s --connect-timeout 30 --max-time 30" - TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions") - curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendDocument \ - -F chat_id=$TG_CHANNEL -F document="@$ARCHIVE_FW" -F caption="$TG_HEADER" diff --git a/.github/workflows/hi3516ev300_ultimate_images.yml b/.github/workflows/hi3516ev200_matrix.yml similarity index 58% rename from .github/workflows/hi3516ev300_ultimate_images.yml rename to .github/workflows/hi3516ev200_matrix.yml index 115571eb..6ae94384 100644 --- a/.github/workflows/hi3516ev300_ultimate_images.yml +++ b/.github/workflows/hi3516ev200_matrix.yml @@ -1,19 +1,50 @@ -name: "Hi3516Ev300 (ultimate)" +name: build on: + pull_request: + types: + - synchronize + - reopened + - opened push: branches: - production tags: - "v*" + push: + paths-ignore: + - '**.md' schedule: - cron: "00 03 * * *" workflow_dispatch: jobs: - build_core: - name: OpenIPC firmware for Hi3516Ev300 (ultimate) + buildroot: runs-on: ubuntu-latest + if: ${{ !contains(github.event.head_commit.message, '[ci skip]') }} + + strategy: + fail-fast: false + matrix: + platform: + - hi3516ev200 + - hi3516ev300 + - hi3518ev300 + - hi3516dv200 + release: + - lite + - ultimate + include: + - platform: hi3516ev200 + release: fpv + - platform: hi3516ev300 + release: fpv + exclude: + - platform: hi3516dv200 + release: ultimate + + env: + HAS_NAND: ${{ matrix.release == 'ultimate' }} && (${{ matrix.platform == 'hi3516ev300' }} || ${{ matrix.platform == 'hi3516ev200' }}) steps: @@ -61,42 +92,57 @@ jobs: echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV - echo "BOARD=hi3516ev300" >> $GITHUB_ENV cd $GITHUB_WORKSPACE make prepare - - name: Build Hi3516Ev300 (ultimate) firmware - id: build-hi3516ev300-ultimate-firmware + - name: Build firmware + id: build-firmware continue-on-error: true run: | - ARCHIVE_FW="${GITHUB_WORKSPACE}/output/images/openipc.${BOARD}-ultimate-br.tgz" - ARCHIVE_FW_NAND="${GITHUB_WORKSPACE}/output/images/openipc.${BOARD}-nand-br.tgz" - echo "ARCHIVE_FW=$ARCHIVE_FW" >> $GITHUB_ENV - echo "ARCHIVE_FW_NAND=$ARCHIVE_FW_NAND" >> $GITHUB_ENV + BOARD=unknown_unknown_${{ matrix.platform }} + if [ "${{ matrix.release }}" != "lite" ]; then + SUFF="${{ matrix.release }}-" + BOARD="${BOARD}_${{ matrix.release }}" + fi + + NORFW_PATH="${GITHUB_WORKSPACE}/output/images/openipc.${{ matrix.platform }}-${SUFF}br.tgz" + echo "NORFW_PATH=$NORFW_PATH" >> $GITHUB_ENV + NORFW_FILE=$(basename $NORFW_PATH) + echo "NORFW_FILE=$NORFW_FILE" >> $GITHUB_ENV + cd $GITHUB_WORKSPACE - make PLATFORM=hisilicon BOARD=unknown_unknown_${BOARD}_ultimate all - [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 3145728 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) ... ${BOARD} (ultimate)" >> $GITHUB_ENV && exit 1 - [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 10485760 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 10485760... ${BOARD} (ultimate)" >> $GITHUB_ENV && exit 1 + + make PLATFORM=hisilicon BOARD=$BOARD all + + [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 3145728 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) ... ${{ matrix.platform }} (${{ matrix.release }})" >> $GITHUB_ENV && exit 1 + [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 10485760 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 10485760... ${{ matrix.platform }} (${{ matrix.release }})" >> $GITHUB_ENV && exit 1 cd ${GITHUB_WORKSPACE}/output/images - mv uImage uImage.${BOARD} - mv rootfs.squashfs rootfs.squashfs.${BOARD} - mv rootfs.ubi rootfs.ubi.${BOARD} - mv rootfs.ubifs rootfs.ubifs.${BOARD} - md5sum rootfs.squashfs.${BOARD} > rootfs.squashfs.${BOARD}.md5sum - md5sum uImage.${BOARD} > uImage.${BOARD}.md5sum - md5sum rootfs.ubifs.${BOARD} > rootfs.ubifs.${BOARD}.md5sum - md5sum uImage.${BOARD} > uImage.${BOARD}.md5sum - tar -cvzf $ARCHIVE_FW uImage* *rootfs.squashfs.${BOARD}* - tar -cvzf $ARCHIVE_FW_NAND uImage* *rootfs.ubi*.${BOARD}* + mv uImage uImage.${{ matrix.platform }} + mv rootfs.squashfs rootfs.squashfs.${{ matrix.platform }} + md5sum rootfs.squashfs.${{ matrix.platform }} > rootfs.squashfs.${{ matrix.platform }}.md5sum + md5sum uImage.${{ matrix.platform }} > uImage.${{ matrix.platform }}.md5sum + tar -cvzf $NORFW_PATH uImage* *rootfs.squashfs.${{ matrix.platform }}* + + if [ "$HAS_NAND" == "true" ]; then + NANDFW_PATH="${GITHUB_WORKSPACE}/output/images/openipc.${{ matrix.platform }}-nand-br.tgz" + echo "NANDFW_PATH=$NANDFW_PATH" >> $GITHUB_ENV + NANDFW_FILE=$(basename $NANDFW_PATH) + echo "NANDFW_FILE=$NANDFW_FILE" >> $GITHUB_ENV + + mv rootfs.ubi rootfs.ubi.${{ matrix.platform }} + mv rootfs.ubifs rootfs.ubifs.${{ matrix.platform }} + md5sum rootfs.ubifs.${{ matrix.platform }} > rootfs.ubifs.${{ matrix.platform }}.md5sum + tar -cvzf $NANDFW_PATH uImage* *rootfs.ubi*.${{ matrix.platform }}* + fi - name: Send error message to telegram channel env: TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }} TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }} - if: steps.build-hi3516ev300-ultimate-firmware.outcome != 'success' + if: steps.build-firmware.outcome != 'success' run: | TG_OPTIONS="-s --connect-timeout 30 --max-time 30" - TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... ${BOARD} (ultimate)}" + TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... ${{ matrix.platform }} (${{ matrix.release }})}" TG_HEADER=$(echo -e "\r\n$TG_NOTIFY \r\n\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions") curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendMessage \ -F chat_id=$TG_CHANNEL -F text="$TG_HEADER" @@ -120,19 +166,19 @@ jobs: continue-on-error: true with: repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ env.ARCHIVE_FW }} - asset_name: openipc.${{ env.BOARD }}-ultimate-br.tgz + file: ${{ env.NORFW_PATH }} + asset_name: ${{ env.NORFW_FILE }} tag: ${{ env.TAG_NAME }} overwrite: true - name: Upload NAND FW to release - if: ${{ !env.ACT }} + if: ${{ !env.ACT }} && ${{ env.HAS_NAND }} uses: svenstaro/upload-release-action@v2 continue-on-error: true with: repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ env.ARCHIVE_FW_NAND }} - asset_name: openipc.${{ env.BOARD }}-nand-br.tgz + file: ${{ env.NANDFW_PATH }} + asset_name: ${{ env.NANDFW_FILE }} tag: ${{ env.TAG_NAME }} overwrite: true @@ -145,4 +191,4 @@ jobs: TG_OPTIONS="-s --connect-timeout 30 --max-time 30" TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions") curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendDocument \ - -F chat_id=$TG_CHANNEL -F document="@$ARCHIVE_FW" -F caption="$TG_HEADER" + -F chat_id=$TG_CHANNEL -F document="@$NORFW_PATH" -F caption="$TG_HEADER" diff --git a/.github/workflows/hi3516ev200_ultimate_images.yml b/.github/workflows/hi3516ev200_ultimate_images.yml deleted file mode 100644 index 7f2b7557..00000000 --- a/.github/workflows/hi3516ev200_ultimate_images.yml +++ /dev/null @@ -1,148 +0,0 @@ -name: "Hi3516Ev200 (ultimate)" - -on: - push: - branches: - - production - tags: - - "v*" - schedule: - - cron: "00 03 * * *" - workflow_dispatch: - -jobs: - build_core: - name: OpenIPC firmware for Hi3516Ev200 (ultimate) - runs-on: ubuntu-latest - - steps: - - - name: Checkout - id: checkout - uses: actions/checkout@v2 - - - name: Install build dependencies - run: | - make install-deps - mkdir -p tmp - if [ ! -z "$ACT" ]; then - apt install -y cpio rsync bc - echo "FORCE_UNSAFE_CONFIGURE=1" >> $GITHUB_ENV - # Mitigate #325 issue - apt install -y pip && pip install cmake - fi - - - name: Free disk space - if: ${{ !env.ACT }} - run: | - sudo swapoff -a - sudo rm -f /swapfile - sudo apt clean - docker rmi $(docker image ls -aq) - df -h - - - name: Prepare buildroot - id: prepare - run: | - HEAD_TAG=$(git tag --points-at HEAD) - GIT_HASH=$(git rev-parse --short $GITHUB_SHA) - BRANCH_NAME=$(echo $GITHUB_REF | cut -d'/' -f 3) - if [ -z "$HEAD_TAG" ]; then - TAG_NAME="latest" - RELEASE_NAME="Development Build" - PRERELEASE=true - else - TAG_NAME=${{ github.ref }} - RELEASE_NAME="Release ${{ github.ref }}" - PRERELEASE=false - fi - echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV - echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV - echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV - echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV - echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV - echo "BOARD=hi3516ev200" >> $GITHUB_ENV - cd $GITHUB_WORKSPACE - make prepare - - - name: Build Hi3516Ev200 (ultimate) firmware - id: build-hi3516ev200-ultimate-firmware - continue-on-error: true - run: | - ARCHIVE_FW="${GITHUB_WORKSPACE}/output/images/openipc.${BOARD}-ultimate-br.tgz" - ARCHIVE_FW_NAND="${GITHUB_WORKSPACE}/output/images/openipc.${BOARD}-nand-br.tgz" - echo "ARCHIVE_FW=$ARCHIVE_FW" >> $GITHUB_ENV - echo "ARCHIVE_FW_NAND=$ARCHIVE_FW_NAND" >> $GITHUB_ENV - cd $GITHUB_WORKSPACE - make PLATFORM=hisilicon BOARD=unknown_unknown_${BOARD}_ultimate all - [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 3145728 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) ... ${BOARD} (ultimate)" >> $GITHUB_ENV && exit 1 - [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 10485760 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 10485760... ${BOARD} (ultimate)" >> $GITHUB_ENV && exit 1 - cd ${GITHUB_WORKSPACE}/output/images - mv uImage uImage.${BOARD} - mv rootfs.squashfs rootfs.squashfs.${BOARD} - mv rootfs.ubi rootfs.ubi.${BOARD} - mv rootfs.ubifs rootfs.ubifs.${BOARD} - md5sum rootfs.squashfs.${BOARD} > rootfs.squashfs.${BOARD}.md5sum - md5sum uImage.${BOARD} > uImage.${BOARD}.md5sum - md5sum rootfs.ubifs.${BOARD} > rootfs.ubifs.${BOARD}.md5sum - md5sum uImage.${BOARD} > uImage.${BOARD}.md5sum - tar -cvzf $ARCHIVE_FW uImage* *rootfs.squashfs.${BOARD}* - tar -cvzf $ARCHIVE_FW_NAND uImage* *rootfs.ubi*.${BOARD}* - - - name: Send error message to telegram channel - env: - TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }} - TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }} - if: steps.build-hi3516ev200-ultimate-firmware.outcome != 'success' - run: | - TG_OPTIONS="-s --connect-timeout 30 --max-time 30" - TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... ${BOARD} (ultimate)}" - TG_HEADER=$(echo -e "\r\n$TG_NOTIFY \r\n\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions") - curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendMessage \ - -F chat_id=$TG_CHANNEL -F text="$TG_HEADER" - exit 2 - - - name: Create release - if: ${{ !env.ACT }} - uses: actions/create-release@v1 - continue-on-error: true - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ env.TAG_NAME }} - release_name: ${{ env.RELEASE_NAME }} - draft: false - prerelease: ${{ env.PRERELEASE }} - - - name: Upload NOR FW to release - if: ${{ !env.ACT }} - uses: svenstaro/upload-release-action@v2 - continue-on-error: true - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ env.ARCHIVE_FW }} - asset_name: openipc.${{ env.BOARD }}-ultimate-br.tgz - tag: ${{ env.TAG_NAME }} - overwrite: true - - - name: Upload NAND FW to release - if: ${{ !env.ACT }} - uses: svenstaro/upload-release-action@v2 - continue-on-error: true - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ env.ARCHIVE_FW_NAND }} - asset_name: openipc.${{ env.BOARD }}-nand-br.tgz - tag: ${{ env.TAG_NAME }} - overwrite: true - - - name: Send binary file to telegram channel - if: ${{ !env.ACT }} - env: - TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }} - TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }} - run: | - TG_OPTIONS="-s --connect-timeout 30 --max-time 30" - TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions") - curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendDocument \ - -F chat_id=$TG_CHANNEL -F document="@$ARCHIVE_FW" -F caption="$TG_HEADER" diff --git a/.github/workflows/hi3516ev300_fpv_images.yml b/.github/workflows/hi3516ev300_fpv_images.yml deleted file mode 100644 index 90813bd8..00000000 --- a/.github/workflows/hi3516ev300_fpv_images.yml +++ /dev/null @@ -1,130 +0,0 @@ -name: "Hi3516Ev300 (fpv)" - -on: - push: - branches: - - production - tags: - - "v*" - schedule: - - cron: "00 03 * * *" - workflow_dispatch: - -jobs: - build_core: - name: OpenIPC firmware for Hi3516Ev300 (fpv) - runs-on: ubuntu-latest - - steps: - - - name: Checkout - id: checkout - uses: actions/checkout@v2 - - - name: Install build dependencies - run: | - make install-deps - mkdir -p tmp - if [ ! -z "$ACT" ]; then - apt install -y cpio rsync bc - echo "FORCE_UNSAFE_CONFIGURE=1" >> $GITHUB_ENV - # Mitigate #325 issue - apt install -y pip && pip install cmake - fi - - - name: Free disk space - if: ${{ !env.ACT }} - run: | - sudo swapoff -a - sudo rm -f /swapfile - sudo apt clean - docker rmi $(docker image ls -aq) - df -h - - - name: Prepare buildroot - id: prepare - run: | - HEAD_TAG=$(git tag --points-at HEAD) - GIT_HASH=$(git rev-parse --short $GITHUB_SHA) - BRANCH_NAME=$(echo $GITHUB_REF | cut -d'/' -f 3) - if [ -z "$HEAD_TAG" ]; then - TAG_NAME="latest" - RELEASE_NAME="Development Build" - PRERELEASE=true - else - TAG_NAME=${{ github.ref }} - RELEASE_NAME="Release ${{ github.ref }}" - PRERELEASE=false - fi - echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV - echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV - echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV - echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV - echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV - echo "BOARD=hi3516ev300" >> $GITHUB_ENV - cd $GITHUB_WORKSPACE - make prepare - - - name: Build Hi3516Ev300 (fpv) firmware - id: build-hi3516ev300-fpv-firmware - continue-on-error: true - run: | - ARCHIVE_FW="${GITHUB_WORKSPACE}/output/images/openipc.${BOARD}-fpv-br.tgz" - echo "ARCHIVE_FW=$ARCHIVE_FW" >> $GITHUB_ENV - cd $GITHUB_WORKSPACE - make PLATFORM=hisilicon BOARD=unknown_unknown_${BOARD}_fpv all - [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 3145728 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) ... ${BOARD} (fpv)" >> $GITHUB_ENV && exit 1 - [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 10485760 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 10485760... ${BOARD} (fpv)" >> $GITHUB_ENV && exit 1 - cd ${GITHUB_WORKSPACE}/output/images - mv uImage uImage.${BOARD} - mv rootfs.squashfs rootfs.squashfs.${BOARD} - md5sum rootfs.squashfs.${BOARD} > rootfs.squashfs.${BOARD}.md5sum - md5sum uImage.${BOARD} > uImage.${BOARD}.md5sum - tar -cvzf $ARCHIVE_FW uImage* *rootfs.squashfs.${BOARD}* - - - name: Send error message to telegram channel - env: - TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }} - TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }} - if: steps.build-hi3516ev300-fpv-firmware.outcome != 'success' - run: | - TG_OPTIONS="-s --connect-timeout 30 --max-time 30" - TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... ${BOARD} (fpv)}" - TG_HEADER=$(echo -e "\r\n$TG_NOTIFY \r\n\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions") - curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendMessage \ - -F chat_id=$TG_CHANNEL -F text="$TG_HEADER" - exit 2 - - - name: Create release - if: ${{ !env.ACT }} - uses: actions/create-release@v1 - continue-on-error: true - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ env.TAG_NAME }} - release_name: ${{ env.RELEASE_NAME }} - draft: false - prerelease: ${{ env.PRERELEASE }} - - - name: Upload NOR FW to release - if: ${{ !env.ACT }} - uses: svenstaro/upload-release-action@v2 - continue-on-error: true - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ env.ARCHIVE_FW }} - asset_name: openipc.${{ env.BOARD }}-fpv-br.tgz - tag: ${{ env.TAG_NAME }} - overwrite: true - - - name: Send binary file to telegram channel - if: ${{ !env.ACT }} - env: - TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }} - TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }} - run: | - TG_OPTIONS="-s --connect-timeout 30 --max-time 30" - TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions") - curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendDocument \ - -F chat_id=$TG_CHANNEL -F document="@$ARCHIVE_FW" -F caption="$TG_HEADER" diff --git a/.github/workflows/hi3516ev300_images.yml b/.github/workflows/hi3516ev300_images.yml deleted file mode 100644 index 1aad52eb..00000000 --- a/.github/workflows/hi3516ev300_images.yml +++ /dev/null @@ -1,149 +0,0 @@ -name: "Hi3516Ev300 " - -on: - push: - branches: - - production - tags: - - "v*" - schedule: - - cron: "00 03 * * *" - workflow_dispatch: - -jobs: - build_core: - name: OpenIPC firmware for Hi3516Ev300 - runs-on: ubuntu-latest - - steps: - - - name: Checkout - id: checkout - uses: actions/checkout@v2 - - - name: Install build dependencies - run: | - make install-deps - mkdir -p tmp - if [ ! -z "$ACT" ]; then - apt install -y cpio rsync bc - echo "FORCE_UNSAFE_CONFIGURE=1" >> $GITHUB_ENV - # Mitigate #325 issue - apt install -y pip && pip install cmake - fi - - - name: Free disk space - if: ${{ !env.ACT }} - run: | - sudo swapoff -a - sudo rm -f /swapfile - sudo apt clean - docker rmi $(docker image ls -aq) - df -h - - - name: Prepare buildroot - id: prepare - run: | - HEAD_TAG=$(git tag --points-at HEAD) - GIT_HASH=$(git rev-parse --short $GITHUB_SHA) - BRANCH_NAME=$(echo $GITHUB_REF | cut -d'/' -f 3) - if [ -z "$HEAD_TAG" ]; then - TAG_NAME="latest" - RELEASE_NAME="Development Build" - PRERELEASE=true - else - TAG_NAME=${{ github.ref }} - RELEASE_NAME="Release ${{ github.ref }}" - PRERELEASE=false - fi - echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV - echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV - echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV - echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV - echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV - cd $GITHUB_WORKSPACE - make prepare - - - name: Build Hi3516Ev300 firmware - id: build-hi3516ev300-firmware - continue-on-error: true - run: | - ARCHIVE_FW="${GITHUB_WORKSPACE}/output/images/openipc.hi3516ev300-br.tgz" - echo "ARCHIVE_FW=$ARCHIVE_FW" >> $GITHUB_ENV - cd $GITHUB_WORKSPACE - make PLATFORM=hisilicon BOARD=unknown_unknown_hi3516ev300_openipc all - [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 2097152 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) vs 2097152... HI3516EV300" >> $GITHUB_ENV && exit 1 - [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 5242880 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 5242880... HI3516EV300" >> $GITHUB_ENV && exit 1 - cd ${GITHUB_WORKSPACE}/output/images - mv uImage uImage.hi3516ev300 - mv rootfs.squashfs rootfs.squashfs.hi3516ev300 - md5sum rootfs.squashfs.hi3516ev300 > rootfs.squashfs.hi3516ev300.md5sum - md5sum uImage.hi3516ev300 > uImage.hi3516ev300.md5sum - tar -cvzf $ARCHIVE_FW *hi3516ev300* - - - name: Build Hi3516Ev300 SDK - id: build-hi3516ev300-sdk - continue-on-error: true - run: | - ARCHIVE_SDK="${GITHUB_WORKSPACE}/output/images/arm-openipc-linux-musleabi_sdk-buildroot.tar.gz" - echo "ARCHIVE_SDK=$ARCHIVE_SDK" >> $GITHUB_ENV - cd $GITHUB_WORKSPACE/output - make sdk - - - name: Send error message to telegram channel - env: - TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }} - TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }} - if: steps.build-hi3516ev300-firmware.outcome != 'success' || steps.build-hi3516ev300-sdk.outcome != 'success' - run: | - TG_OPTIONS="-s --connect-timeout 30 --max-time 30" - TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... HI3516EV300}" - TG_HEADER=$(echo -e "\r\n$TG_NOTIFY \r\n\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions") - curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendMessage \ - -F chat_id=$TG_CHANNEL -F text="$TG_HEADER" - exit 2 - - - name: Create release - if: ${{ !env.ACT }} - uses: actions/create-release@v1 - continue-on-error: true - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ env.TAG_NAME }} - release_name: ${{ env.RELEASE_NAME }} - draft: false - prerelease: ${{ env.PRERELEASE }} - - - name: Upload NOR FW to release - if: ${{ !env.ACT }} - uses: svenstaro/upload-release-action@v2 - continue-on-error: true - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ env.ARCHIVE_FW }} - asset_name: "openipc.hi3516ev300-br.tgz" - tag: ${{ env.TAG_NAME }} - overwrite: true - - - name: Upload SDK to release - if: ${{ !env.ACT }} - uses: svenstaro/upload-release-action@v2 - continue-on-error: true - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ env.ARCHIVE_SDK }} - asset_name: "arm-openipc-hi3516ev300-linux-musleabi_sdk-buildroot.tar.gz" - tag: ${{ env.TAG_NAME }} - overwrite: true - - - name: Send binary file to telegram channel - if: ${{ !env.ACT }} - env: - TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }} - TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }} - run: | - TG_OPTIONS="-s --connect-timeout 30 --max-time 30" - TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions") - curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendDocument \ - -F chat_id=$TG_CHANNEL -F document="@$ARCHIVE_FW" -F caption="$TG_HEADER" diff --git a/.github/workflows/hi3518ev300_images.yml b/.github/workflows/hi3518ev300_images.yml deleted file mode 100644 index 6590b267..00000000 --- a/.github/workflows/hi3518ev300_images.yml +++ /dev/null @@ -1,149 +0,0 @@ -name: "Hi3518Ev300 " - -on: - push: - branches: - - production - tags: - - "v*" - schedule: - - cron: "00 03 * * *" - workflow_dispatch: - -jobs: - build_core: - name: OpenIPC firmware for Hi3518Ev300 - runs-on: ubuntu-latest - - steps: - - - name: Checkout - id: checkout - uses: actions/checkout@v2 - - - name: Install build dependencies - run: | - make install-deps - mkdir -p tmp - if [ ! -z "$ACT" ]; then - apt install -y cpio rsync bc - echo "FORCE_UNSAFE_CONFIGURE=1" >> $GITHUB_ENV - # Mitigate #325 issue - apt install -y pip && pip install cmake - fi - - - name: Free disk space - if: ${{ !env.ACT }} - run: | - sudo swapoff -a - sudo rm -f /swapfile - sudo apt clean - docker rmi $(docker image ls -aq) - df -h - - - name: Prepare buildroot - id: prepare - run: | - HEAD_TAG=$(git tag --points-at HEAD) - GIT_HASH=$(git rev-parse --short $GITHUB_SHA) - BRANCH_NAME=$(echo $GITHUB_REF | cut -d'/' -f 3) - if [ -z "$HEAD_TAG" ]; then - TAG_NAME="latest" - RELEASE_NAME="Development Build" - PRERELEASE=true - else - TAG_NAME=${{ github.ref }} - RELEASE_NAME="Release ${{ github.ref }}" - PRERELEASE=false - fi - echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV - echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV - echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV - echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV - echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV - cd $GITHUB_WORKSPACE - make prepare - - - name: Build Hi3518Ev300 firmware - id: build-hi3518ev300-firmware - continue-on-error: true - run: | - ARCHIVE_FW="${GITHUB_WORKSPACE}/output/images/openipc.hi3518ev300-br.tgz" - echo "ARCHIVE_FW=$ARCHIVE_FW" >> $GITHUB_ENV - cd $GITHUB_WORKSPACE - make PLATFORM=hisilicon BOARD=unknown_unknown_hi3518ev300_openipc all - [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 2097152 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) vs 2097152... HI3518EV300" >> $GITHUB_ENV && exit 1 - [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 5242880 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 5242880... HI3518EV300" >> $GITHUB_ENV && exit 1 - cd ${GITHUB_WORKSPACE}/output/images - mv uImage uImage.hi3518ev300 - mv rootfs.squashfs rootfs.squashfs.hi3518ev300 - md5sum rootfs.squashfs.hi3518ev300 > rootfs.squashfs.hi3518ev300.md5sum - md5sum uImage.hi3518ev300 > uImage.hi3518ev300.md5sum - tar -cvzf $ARCHIVE_FW *hi3518ev300* - - - name: Build Hi3518Ev300 SDK - id: build-hi3518ev300-sdk - continue-on-error: true - run: | - ARCHIVE_SDK="${GITHUB_WORKSPACE}/output/images/arm-openipc-linux-musleabi_sdk-buildroot.tar.gz" - echo "ARCHIVE_SDK=$ARCHIVE_SDK" >> $GITHUB_ENV - cd $GITHUB_WORKSPACE/output - make sdk - - - name: Send error message to telegram channel - env: - TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }} - TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }} - if: steps.build-hi3518ev300-firmware.outcome != 'success' || steps.build-hi3518ev300-sdk.outcome != 'success' - run: | - TG_OPTIONS="-s --connect-timeout 30 --max-time 30" - TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... HI3518EV300}" - TG_HEADER=$(echo -e "\r\n$TG_NOTIFY \r\n\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions") - curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendMessage \ - -F chat_id=$TG_CHANNEL -F text="$TG_HEADER" - exit 2 - - - name: Create release - if: ${{ !env.ACT }} - uses: actions/create-release@v1 - continue-on-error: true - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ env.TAG_NAME }} - release_name: ${{ env.RELEASE_NAME }} - draft: false - prerelease: ${{ env.PRERELEASE }} - - - name: Upload NOR FW to release - if: ${{ !env.ACT }} - uses: svenstaro/upload-release-action@v2 - continue-on-error: true - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ env.ARCHIVE_FW }} - asset_name: "openipc.hi3518ev300-br.tgz" - tag: ${{ env.TAG_NAME }} - overwrite: true - - - name: Upload SDK to release - if: ${{ !env.ACT }} - uses: svenstaro/upload-release-action@v2 - continue-on-error: true - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ env.ARCHIVE_SDK }} - asset_name: "arm-openipc-hi3518ev300-linux-musleabi_sdk-buildroot.tar.gz" - tag: ${{ env.TAG_NAME }} - overwrite: true - - - name: Send binary file to telegram channel - if: ${{ !env.ACT }} - env: - TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }} - TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }} - run: | - TG_OPTIONS="-s --connect-timeout 30 --max-time 30" - TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions") - curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendDocument \ - -F chat_id=$TG_CHANNEL -F document="@$ARCHIVE_FW" -F caption="$TG_HEADER" diff --git a/.github/workflows/hi3518ev300_ultimate_images.yml b/.github/workflows/hi3518ev300_ultimate_images.yml deleted file mode 100644 index e26f3022..00000000 --- a/.github/workflows/hi3518ev300_ultimate_images.yml +++ /dev/null @@ -1,148 +0,0 @@ -name: "Hi3518Ev300 (ultimate)" - -on: - push: - branches: - - production - tags: - - "v*" - schedule: - - cron: "00 03 * * *" - workflow_dispatch: - -jobs: - build_core: - name: OpenIPC firmware for Hi3518Ev300 (ultimate) - runs-on: ubuntu-latest - - steps: - - - name: Checkout - id: checkout - uses: actions/checkout@v2 - - - name: Install build dependencies - run: | - make install-deps - mkdir -p tmp - if [ ! -z "$ACT" ]; then - apt install -y cpio rsync bc - echo "FORCE_UNSAFE_CONFIGURE=1" >> $GITHUB_ENV - # Mitigate #325 issue - apt install -y pip && pip install cmake - fi - - - name: Free disk space - if: ${{ !env.ACT }} - run: | - sudo swapoff -a - sudo rm -f /swapfile - sudo apt clean - docker rmi $(docker image ls -aq) - df -h - - - name: Prepare buildroot - id: prepare - run: | - HEAD_TAG=$(git tag --points-at HEAD) - GIT_HASH=$(git rev-parse --short $GITHUB_SHA) - BRANCH_NAME=$(echo $GITHUB_REF | cut -d'/' -f 3) - if [ -z "$HEAD_TAG" ]; then - TAG_NAME="latest" - RELEASE_NAME="Development Build" - PRERELEASE=true - else - TAG_NAME=${{ github.ref }} - RELEASE_NAME="Release ${{ github.ref }}" - PRERELEASE=false - fi - echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV - echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV - echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV - echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV - echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV - echo "BOARD=hi3518ev300" >> $GITHUB_ENV - cd $GITHUB_WORKSPACE - make prepare - - - name: Build Hi3518Ev300 (ultimate) firmware - id: build-hi3518ev300-ultimate-firmware - continue-on-error: true - run: | - ARCHIVE_FW="${GITHUB_WORKSPACE}/output/images/openipc.${BOARD}-ultimate-br.tgz" - ARCHIVE_FW_NAND="${GITHUB_WORKSPACE}/output/images/openipc.${BOARD}-nand-br.tgz" - echo "ARCHIVE_FW=$ARCHIVE_FW" >> $GITHUB_ENV - echo "ARCHIVE_FW_NAND=$ARCHIVE_FW_NAND" >> $GITHUB_ENV - cd $GITHUB_WORKSPACE - make PLATFORM=hisilicon BOARD=unknown_unknown_${BOARD}_ultimate all - [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 3145728 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) ... ${BOARD} (ultimate)" >> $GITHUB_ENV && exit 1 - [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 10485760 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 10485760... ${BOARD} (ultimate)" >> $GITHUB_ENV && exit 1 - cd ${GITHUB_WORKSPACE}/output/images - mv uImage uImage.${BOARD} - mv rootfs.squashfs rootfs.squashfs.${BOARD} - mv rootfs.ubi rootfs.ubi.${BOARD} - mv rootfs.ubifs rootfs.ubifs.${BOARD} - md5sum rootfs.squashfs.${BOARD} > rootfs.squashfs.${BOARD}.md5sum - md5sum uImage.${BOARD} > uImage.${BOARD}.md5sum - md5sum rootfs.ubifs.${BOARD} > rootfs.ubifs.${BOARD}.md5sum - md5sum uImage.${BOARD} > uImage.${BOARD}.md5sum - tar -cvzf $ARCHIVE_FW uImage* *rootfs.squashfs.${BOARD}* - tar -cvzf $ARCHIVE_FW_NAND uImage* *rootfs.ubi*.${BOARD}* - - - name: Send error message to telegram channel - env: - TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }} - TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }} - if: steps.build-hi3518ev300-ultimate-firmware.outcome != 'success' - run: | - TG_OPTIONS="-s --connect-timeout 30 --max-time 30" - TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... ${BOARD} (ultimate)}" - TG_HEADER=$(echo -e "\r\n$TG_NOTIFY \r\n\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions") - curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendMessage \ - -F chat_id=$TG_CHANNEL -F text="$TG_HEADER" - exit 2 - - - name: Create release - if: ${{ !env.ACT }} - uses: actions/create-release@v1 - continue-on-error: true - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ env.TAG_NAME }} - release_name: ${{ env.RELEASE_NAME }} - draft: false - prerelease: ${{ env.PRERELEASE }} - - - name: Upload NOR FW to release - if: ${{ !env.ACT }} - uses: svenstaro/upload-release-action@v2 - continue-on-error: true - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ env.ARCHIVE_FW }} - asset_name: openipc.${{ env.BOARD }}-ultimate-br.tgz - tag: ${{ env.TAG_NAME }} - overwrite: true - - - name: Upload NAND FW to release - if: ${{ !env.ACT }} - uses: svenstaro/upload-release-action@v2 - continue-on-error: true - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ env.ARCHIVE_FW_NAND }} - asset_name: openipc.${{ env.BOARD }}-nand-br.tgz - tag: ${{ env.TAG_NAME }} - overwrite: true - - - name: Send binary file to telegram channel - if: ${{ !env.ACT }} - env: - TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }} - TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }} - run: | - TG_OPTIONS="-s --connect-timeout 30 --max-time 30" - TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions") - curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendDocument \ - -F chat_id=$TG_CHANNEL -F document="@$ARCHIVE_FW" -F caption="$TG_HEADER"