From a02bdee60e898ec7f0dfe318aec216ee0165cadb Mon Sep 17 00:00:00 2001 From: Viktor <35473052+viktorxda@users.noreply.github.com> Date: Mon, 22 May 2023 01:38:50 +0200 Subject: [PATCH] [Workflow] overhaul and simplify workflow file --- .github/workflows/matrix_build.yml | 385 +++++++++-------------------- 1 file changed, 120 insertions(+), 265 deletions(-) diff --git a/.github/workflows/matrix_build.yml b/.github/workflows/matrix_build.yml index bda05724..a71b5ed8 100644 --- a/.github/workflows/matrix_build.yml +++ b/.github/workflows/matrix_build.yml @@ -6,34 +6,29 @@ on: - synchronize - reopened - opened - paths-ignore: - - '**.md' push: branches: - 'master' tags: - 'v*' - paths-ignore: - - '**.md' workflow_dispatch: concurrency: - group: ${{ github.head_ref || github.run_id }} + group: ${{github.head_ref || github.run_id}} cancel-in-progress: true env: MAX_KERNEL_SIZE: 0x200000 MAX_ROOTFS_SIZE: 0x500000 MAX_KERNEL_SIZE_ULTIMATE: 0x300000 - MAX_ROOTFS_SIZE_ULTIMATE: 0xa00000 + MAX_ROOTFS_SIZE_ULTIMATE: 0xA00000 TG_OPTIONS: -s --connect-timeout 30 --retry 10 --http1.1 --verbose + TAG_NAME: latest jobs: toolchain: name: Toolchain runs-on: ubuntu-latest - env: - NEED: true strategy: fail-fast: false @@ -66,101 +61,41 @@ jobs: - xm530 steps: - - name: Checkout uses: actions/checkout@v3 with: - fetch-depth: 0 # OR "2" -> To retrieve the preceding commit. + fetch-depth: 0 - - name: Determine toolchain name and can we skip build + - name: Determine toolchain run: | - GIT_HASH=$(git rev-parse --short $GITHUB_SHA) - RELEASE_NAME="Development Build" - TAG_NAME="latest" - PRERELEASE=true - 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 - - BOARD=${{ matrix.platform }}_lite - make BOARD=$BOARD prepare - TOOLNAME=$(make BOARD=$BOARD toolname) - echo "TOOLNAME=$TOOLNAME" >> $GITHUB_ENV - URL=https://github.com/${GITHUB_REPOSITORY}/releases/download/${TAG_NAME}/${TOOLNAME}.tgz - echo Checking $URL - - HTTP_CODE=$(curl -o /dev/null --silent -Iw '%{http_code}' $URL) - echo GitHub returned HTTP code: ${HTTP_CODE} - if [ "$HTTP_CODE" == "302" ]; then - echo "NEED=false" >> $GITHUB_ENV + BOARD=${{matrix.platform}}_lite + make BOARD=${BOARD} prepare + GCC=$(make BOARD=${BOARD} toolname) + echo GCC=${GCC} >> ${GITHUB_ENV} + URL=https://github.com/${GITHUB_REPOSITORY}/releases/download/${TAG_NAME}/${GCC}.tgz + echo ${URL} + if ! wget --spider ${URL} 2> /dev/null; then + echo BUILD=true >> ${GITHUB_ENV} fi - - name: Install build dependencies - if: env.NEED == 'true' + - name: Build toolchain + if: env.BUILD == 'true' run: | - sudo make install-deps - if [ ! -z "$ACT" ]; then - echo "FORCE_UNSAFE_CONFIGURE=1" >> $GITHUB_ENV - else - # https://github.com/actions/runner-images/issues/2577 - echo "8.8.8.8 invisible-mirror.net" | sudo tee -a /etc/hosts - fi + make BOARD=${{matrix.platform}}_lite br-sdk + SDK_FILE=$(find output/images -name *_sdk-buildroot.tar.gz) + mv ${SDK_FILE} ${GCC}.tgz - - name: Free disk space - if: ${{ !env.ACT && env.NEED == 'true' }} - run: | - sudo apt clean - docker rmi $(docker image ls -aq) - - - name: Build Buildroot SDK - if: env.NEED == 'true' - run: | - make BOARD=${{ matrix.platform }}_lite br-sdk - SDK_PATH=$(find output/images -name "*_sdk-buildroot.tar.gz") - # Why do we need this crap (only for weird artifact names)? - NEW="$(dirname $SDK_PATH)/${TOOLNAME}.tgz" - mv $SDK_PATH $NEW - SDK_PATH=$NEW - echo "SDK_PATH=$SDK_PATH" >> $GITHUB_ENV - - - uses: actions/upload-artifact@v3 - # uncomment one of the options: - # 1. Build only there is no such toolchain - if: env.NEED == 'true' + - name: Upload toolchain + if: ${{github.event_name != 'pull_request' && env.BUILD == 'true'}} + uses: softprops/action-gh-release@v1 with: - name: '${{ env.TOOLNAME }}.tgz' - path: ${{ env.SDK_PATH }} - retention-days: 1 - - - name: Create release - if: ${{ !env.ACT && github.event_name != 'pull_request' && env.NEED == 'true' }} - 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 SDK to release - if: ${{ !env.ACT && github.event_name != 'pull_request' && env.NEED == 'true' }} - uses: svenstaro/upload-release-action@v2 - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ env.SDK_PATH }} - asset_name: '${{ env.TOOLNAME }}.tgz' - tag: ${{ env.TAG_NAME }} - overwrite: true + tag_name: temporary_tag + files: ${{env.GCC}}.tgz buildroot: name: Firmware needs: toolchain runs-on: ubuntu-latest - env: - FURRY: ${{ secrets.FURRY }} strategy: fail-fast: false @@ -330,154 +265,101 @@ jobs: - name: Checkout uses: actions/checkout@v3 with: - fetch-depth: 0 # OR "2" -> To retrieve the preceding commit. + fetch-depth: 0 - - name: Install build dependencies + - name: Determine toolchain run: | - sudo make install-deps - if [ ! -z "$ACT" ]; then - echo "FORCE_UNSAFE_CONFIGURE=1" >> $GITHUB_ENV - else - # https://github.com/actions/runner-images/issues/2577 - echo "8.8.8.8 invisible-mirror.net" | sudo tee -a /etc/hosts - fi - - - name: Free disk space - if: ${{ !env.ACT }} - run: | - sudo apt clean - docker rmi $(docker image ls -aq) - - - name: Prepare buildroot - run: | - GIT_HASH=$(git rev-parse --short $GITHUB_SHA) - BRANCH=$(echo $GITHUB_REF | cut -d'/' -f 3) - RELEASE_NAME="Development Build" - TAG_NAME="latest" - PRERELEASE=true - 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=$BRANCH" >> $GITHUB_ENV - - - name: Determine toolchain name - run: | - BOARD=${{ matrix.platform }}_lite - make BOARD=$BOARD prepare - TOOLNAME=$(make BOARD=$BOARD toolname) - echo "TOOLNAME=$TOOLNAME" >> $GITHUB_ENV + BOARD=${{matrix.platform}}_lite + make BOARD=${BOARD} prepare + GCC=$(make BOARD=${BOARD} toolname) + echo GCC=${GCC} >> ${GITHUB_ENV} + URL=https://github.com/${GITHUB_REPOSITORY}/releases/download/${TAG_NAME}/${GCC}.tgz + echo ${URL} + wget -q -c --retry-on-http-error=503 --timeout=15 ${URL} - name: Setup ccache if: github.event_name != 'pull_request' uses: actions/cache@v3 with: path: /tmp/ccache - key: ${{ env.TOOLNAME }} + key: ${{env.GCC}} - name: Restore ccache if: github.event_name == 'pull_request' uses: actions/cache/restore@v3 with: path: /tmp/ccache - key: ${{ env.TOOLNAME }} - - - uses: actions/download-artifact@v3 - continue-on-error: true - with: - name: '${{ env.TOOLNAME }}.tgz' + key: ${{env.GCC}} - name: Build firmware run: | - BOARD=${{ matrix.platform }}_${{ matrix.release }} - CONF_PATH=$(find . -name "${BOARD}_defconfig") + BOARD=${{matrix.platform}}_${{matrix.release}} + CONFIG=$(find br-ext-chip-* -name ${BOARD}_defconfig) + SDK=/tmp/extsdk + mkdir -p ${SDK} + tar xf ${GCC}.tgz --strip-components=1 -C ${SDK} - echo Using $TOOLNAME - if [ ! -f "$TOOLNAME.tgz" ]; then - wget -nv --retry-on-http-error=503 --continue --timeout=15 \ - https://github.com/${GITHUB_REPOSITORY}/releases/download/${TAG_NAME}/${TOOLNAME}.tgz + EXT=BR2_TOOLCHAIN_EXTERNAL + echo ${EXT}=y >> ${CONFIG} + echo ${EXT}_CUSTOM=y >> ${CONFIG} + echo ${EXT}_PREINSTALLED=y >> ${CONFIG} + echo ${EXT}_CXX=y >> ${CONFIG} + echo ${EXT}_PATH=\"${SDK}\" >> ${CONFIG} + + PREFIX=$(ls -d ${SDK}/*openipc* | xargs basename) + LIBC=$(echo ${GCC} | cut -d "-" -f 3) + KVER=$(echo ${GCC} | cut -d "-" -f 4) + echo ${EXT}_CUSTOM_PREFIX=\"${PREFIX}\" >> ${CONFIG} + echo ${EXT}_CUSTOM_${LIBC^^}=y >> ${CONFIG} + echo ${EXT}_HEADERS_${KVER}=y >> ${CONFIG} + GCCV=$(echo ${GCC} | cut -d '-' -f 2) + echo ${EXT}_GCC_${GCCV:3:1}=y >> ${CONFIG} + + if [ ${LIBC} = "glibc" ]; then + RPC=${SDK}/${PREFIX}/sysroot/usr/include/rpc/rpc.h + check() { test -f $RPC && echo y || echo n; } + echo ${EXT}_INET_RPC=$(check) >> ${CONFIG} + elif [ ${LIBC} = "uclibc" ]; then + CFG=${SDK}/${PREFIX}/sysroot/usr/include/bits/uClibc_config.h + check() { grep -q "${1} 1" ${CFG} && echo y || echo n; } + echo ${EXT}_LOCALE=$(check __UCLIBC_HAS_LOCALE__) >> ${CONFIG} + echo ${EXT}_HAS_THREADS_DEBUG=$(check __PTHREADS_DEBUG_SUPPORT__) >> ${CONFIG} + echo ${EXT}_HAS_SSP=y >> ${CONFIG} fi - mkdir /tmp/extsdk - tar xvf ${TOOLNAME}.tgz --strip-components=1 -C /tmp/extsdk >/dev/null - set -x - TLEXT=BR2_TOOLCHAIN_EXTERNAL - echo "${TLEXT}=y" >> $CONF_PATH - echo "${TLEXT}_CUSTOM=y" >> $CONF_PATH - echo "${TLEXT}_PREINSTALLED=y" >> $CONF_PATH - echo "${TLEXT}_CXX=y" >> $CONF_PATH - echo "${TLEXT}_PATH=\"/tmp/extsdk\"" >> $CONF_PATH + echo BR2_CCACHE=y >> ${CONFIG} + echo BR2_CCACHE_DIR=\"/tmp/ccache\" >> ${CONFIG} + cat ${CONFIG} - SOC=$(echo $TOOLNAME | cut -d '-' -f 1) - ABI="" - case "$SOC" in - arm*|cortex*) - PREFIX=arm - ABI="eabi" - [[ $SOC =~ _hf$ ]] && ABI="${ABI}hf" - ;; - mips_xburst) - PREFIX=mipsel - ;; - esac - PREFIX="${PREFIX}-openipc-linux-" - - LIBC=$(echo $TOOLNAME | cut -d '-' -f 3) - case "$LIBC" in - uclibc) - PREFIX="${PREFIX}${LIBC}gnu${ABI}" - UCCFG=/tmp/extsdk/${PREFIX}/sysroot/usr/include/bits/uClibc_config.h - check_uclibc_feature() { grep -q "\#define ${1} 1" ${UCCFG} && echo y || echo n; } - echo "${TLEXT}_LOCALE=$(check_uclibc_feature __UCLIBC_HAS_LOCALE__)" >> $CONF_PATH - echo "${TLEXT}_HAS_THREADS_DEBUG=$(check_uclibc_feature __PTHREADS_DEBUG_SUPPORT__)" >> $CONF_PATH - echo "${TLEXT}_HAS_SSP=y" >> $CONF_PATH - ;; - musl) - PREFIX="${PREFIX}${LIBC}${ABI}" - ;; - glibc) - PREFIX="${PREFIX}gnu${ABI}" - RPCH=/tmp/extsdk/${PREFIX}/sysroot/usr/include/rpc/rpc.h - check_glibc_rpc_feature() { test -f $RPCH && echo y || echo n ; } - echo "${TLEXT}_INET_RPC=$(check_glibc_rpc_feature)" >> $CONF_PATH - ;; - esac - echo "${TLEXT}_CUSTOM_PREFIX=\"${PREFIX}\"" >> $CONF_PATH - CAP_LIBC=$(echo $LIBC | tr a-z A-Z) - echo "${TLEXT}_CUSTOM_${CAP_LIBC}=y" >> $CONF_PATH - LXHDRS=$(echo $TOOLNAME | cut -d '-' -f 4) - echo "${TLEXT}_HEADERS_${LXHDRS}=y" >> $CONF_PATH - GCC_VER=$(echo $TOOLNAME | cut -d '-' -f 2) - echo "${TLEXT}_GCC_${GCC_VER:3:1}=y" >> $CONF_PATH - - echo BR2_CCACHE=y >> $CONF_PATH - echo BR2_CCACHE_DIR=\"/tmp/ccache\" >> $CONF_PATH - cat $CONF_PATH - - make BOARD=$BOARD all + GIT_HASH=$(git rev-parse --short ${GITHUB_SHA}) + export GIT_HASH=${GIT_HASH} + export BRANCH=${GITHUB_REF_NAME} + echo GIT_HASH=${GIT_HASH} >> $GITHUB_ENV + make BOARD=${BOARD} all IMAGES_DIR=${GITHUB_WORKSPACE}/output/images pushd output/images + check_exceeded() { ACTUAL=$(stat --printf="%s" ${1}) echo Debug ${1}: ${ACTUAL} vs ${2}... - if [[ ${ACTUAL} -gt ${2} ]]; then + if [ ${ACTUAL} -gt ${2} ]; then OVERRUN=$((${ACTUAL}-${2})) - echo "TG_NOTIFY=Warning, ${1} size exceeded by ${OVERRUN}... ${{ matrix.platform }} (${{ matrix.release }})" >> $GITHUB_ENV + echo TG_NOTIFY=Warning, ${1} size exceeded by ${OVERRUN}... ${{matrix.platform}}_${{matrix.release}} >> $GITHUB_ENV exit 1 fi } if [ -f uImage ]; then # TODO: doesn't fit to lite - case ${{ matrix.platform }} in + case ${{matrix.platform}} in hi3516cv500|hi3516dv300|hi3516av300|ssc338q) MAX_KERNEL_SIZE=${MAX_KERNEL_SIZE_ULTIMATE} MAX_ROOTFS_SIZE=${MAX_ROOTFS_SIZE_ULTIMATE} ;; esac - case ${{ matrix.release }} in + case ${{matrix.release}} in lite|fpv|lte) check_exceeded uImage ${MAX_KERNEL_SIZE} check_exceeded rootfs.squashfs ${MAX_ROOTFS_SIZE} @@ -488,103 +370,76 @@ jobs: ;; esac - NORFW_PATH="${IMAGES_DIR}/openipc.${{ matrix.platform }}-nor-${{ matrix.release }}.tgz" - echo "NORFW_PATH=$NORFW_PATH" >> $GITHUB_ENV - NORFW_FILE=$(basename $NORFW_PATH) - echo "NORFW_FILE=$NORFW_FILE" >> $GITHUB_ENV + NORFW_FILE=${IMAGES_DIR}/openipc.${{matrix.platform}}-nor-${{matrix.release}}.tgz + echo NORFW_FILE=${NORFW_FILE} >> ${GITHUB_ENV} - 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 }}* + 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 czf ${NORFW_FILE} uImage* *rootfs.squashfs.${{matrix.platform}}* fi - if [ -f rootfs.ubifs ] ; then - NANDFW_PATH="${IMAGES_DIR}/openipc.${{ matrix.platform }}-nand-${{ matrix.release }}.tgz" - echo "NANDFW_PATH=$NANDFW_PATH" >> $GITHUB_ENV - NANDFW_FILE=$(basename $NANDFW_PATH) - echo "NANDFW_FILE=$NANDFW_FILE" >> $GITHUB_ENV + if [ -f rootfs.ubifs ]; then + NANDFW_FILE=${IMAGES_DIR}/openipc.${{matrix.platform}}-nand-${{matrix.release}}.tgz + 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 - case ${{ matrix.platform }} in + mv rootfs.ubi rootfs.ubi.${{matrix.platform}} + mv rootfs.ubifs rootfs.ubifs.${{matrix.platform}} + md5sum rootfs.ubifs.${{matrix.platform}} > rootfs.ubifs.${{matrix.platform}}.md5sum + case ${{matrix.platform}} in rv*) - mv zboot.img boot.img.${{ matrix.platform }} - md5sum boot.img.${{ matrix.platform }} > boot.img.${{ matrix.platform }}.md5sum - tar -cvzf $NANDFW_PATH boot.img* *rootfs.ubi*.${{ matrix.platform }}* + mv zboot.img boot.img.${{matrix.platform}} + md5sum boot.img.${{matrix.platform}} > boot.img.${{matrix.platform}}.md5sum + tar czf ${NANDFW_FILE} boot.img* *rootfs.ubi*.${{matrix.platform}}* ;; *) - tar -cvzf $NANDFW_PATH uImage* *rootfs.ubi*.${{ matrix.platform }}* + tar czf ${NANDFW_FILE} uImage* *rootfs.ubi*.${{matrix.platform}}* ;; esac fi popd + - name: Upload firmware + if: ${{github.event_name != 'pull_request' && matrix.custom != 'onlyci'}} + uses: softprops/action-gh-release@v1 + with: + tag_name: temporary_tag + files: | + ${{env.NORFW_FILE}} + ${{env.NANDFW_FILE}} + - name: Send error message to telegram channel env: - TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }} - TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }} - if: ${{ !env.ACT && failure() && github.event_name != 'pull_request' }} + TG_TOKEN: ${{secrets.TELEGRAM_TOKEN_BOT_OPENIPC}} + TG_CHANNEL: ${{secrets.TELEGRAM_CHANNEL_OPENIPC_DEV}} + if: ${{failure() && github.event_name != 'pull_request'}} run: | - 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 \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions") + 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: $GITHUB_REF_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 && github.event_name != 'pull_request' && matrix.custom != 'onlyci' }} - 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 && github.event_name != 'pull_request' && matrix.custom != 'onlyci' && env.NORFW_FILE != '' }} - uses: svenstaro/upload-release-action@v2 - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ env.NORFW_PATH }} - asset_name: ${{ env.NORFW_FILE }} - tag: ${{ env.TAG_NAME }} - overwrite: true - - - name: Upload NAND FW to release - if: ${{ !env.ACT && github.event_name != 'pull_request' && matrix.custom != 'onlyci' && env.NANDFW_FILE != '' }} - uses: svenstaro/upload-release-action@v2 - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ env.NANDFW_PATH }} - asset_name: ${{ env.NANDFW_FILE }} - tag: ${{ env.TAG_NAME }} - overwrite: true - - name: Send binary file to telegram channel - if: ${{ !env.ACT && github.event_name != 'pull_request' && matrix.custom != 'onlyci' && env.NORFW_FILE != '' }} + if: ${{github.event_name != 'pull_request' && matrix.custom != 'onlyci' && env.NORFW_FILE != ''}} env: - TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }} - TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }} + TG_TOKEN: ${{secrets.TELEGRAM_TOKEN_BOT_OPENIPC}} + TG_CHANNEL: ${{secrets.TELEGRAM_CHANNEL_OPENIPC_DEV}} run: | - TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions") + TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $GITHUB_REF_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="@$NORFW_PATH" -F caption="$TG_HEADER" + -F chat_id=$TG_CHANNEL -F document="@$NORFW_FILE" -F caption="$TG_HEADER" ci-build-check: - if: always() && github.event.pull_request + if: always() runs-on: ubuntu-latest - name: CI Build Check - needs: [buildroot] + name: CI buildcheck + needs: buildroot steps: - run: | - result="${{ needs.buildroot.result }}" - if [[ $result == "success" || $result == "skipped" ]]; then + result=${{needs.buildroot.result}} + if [[ ${result} = "success" || ${result} = "skipped" ]]; then exit 0 else exit 1