diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000000..d6b0953212bb --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,94 @@ +name: build + +on: + push: + branches: [ "v2024.04-solidrun-a38x" ] + pull_request: + branches: [ "v2024.04-solidrun-a38x" ] + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + fetch_compile_publish: + runs-on: ubuntu-latest + timeout-minutes: 30 + container: + image: debian:bookworm-slim + env: + DEBIAN_FRONTEND: noninteractive + CROSS_COMPILE: arm-linux-gnueabihf- + outputs: + build_tag: ${{ steps.tag_step.outputs.build_tag }} + build_ver: ${{ steps.tag_step.outputs.build_ver }} + + steps: + - name: Install Dependencies + run: | + apt-get update + apt-get upgrade -y + apt-get install -y bc bison build-essential crossbuild-essential-armhf flex git libncurses-dev libssl-dev + + - name: Checkout pull-request + uses: actions/checkout@v4 + + - name: Get build tag + id: tag_step + run: | + build_tag=$(date +%Y-%m-%d)_$(echo ${{ github.sha }} | cut -c1-7) + echo "build_tag=$build_tag" >> "$GITHUB_OUTPUT" + echo "build_ver=v2024.04" >> "$GITHUB_OUTPUT" + + - name: Build SD + shell: bash + run: | + make clearfog_defconfig + make -j$(nproc) + install -v -m644 -D u-boot-with-spl.kwb deploy/u-boot-sd.kwb + + - name: Build eMMC data + shell: bash + run: | + make clearfog_defconfig + ./scripts/config --set-val SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET 0x1000 + make -j$(nproc) + install -v -m644 -D u-boot-with-spl.kwb deploy/u-boot-emmc.kwb + + - name: Build eMMC boot0 + shell: bash + run: | + make clearfog_defconfig + ./scripts/config --set-val SYS_MMC_ENV_PART 1 + make -j$(nproc) + install -v -m644 -D u-boot-with-spl.kwb deploy/u-boot-emmc-boot0.kwb + + - name: Build eMMC boot1 + shell: bash + run: | + make clearfog_defconfig + ./scripts/config --set-val SYS_MMC_ENV_PART 2 + make -j$(nproc) + install -v -m644 -D u-boot-with-spl.kwb deploy/u-boot-emmc-boot1.kwb + + - name: Build SATA + shell: bash + run: | + make clearfog_sata_defconfig + make -j$(nproc) + install -v -m644 -D u-boot-with-spl.kwb deploy/u-boot-sata.kwb + + - name: Build SPI + shell: bash + run: | + make clearfog_spi_defconfig + make -j$(nproc) + install -v -m644 -D u-boot-with-spl.kwb deploy/u-boot-spi.kwb + + - name: Upload to S3 + uses: shallwefootball/upload-s3-action@v1.3.3 + with: + aws_key_id: ${{ secrets.IMAGES_S3_ACCESS }} + aws_secret_access_key: ${{ secrets.IMAGES_S3_SECRET }} + aws_bucket: ${{ secrets.IMAGES_S3_BUCKET }} + endpoint: ${{ secrets.IMAGES_S3_HOST }} + source_dir: deploy + destination_dir: A38X/U-Boot/${{ steps.tag_step.outputs.build_ver }}/${{ steps.tag_step.outputs.build_tag }}