diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000000..128d9c291f69 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,117 @@ +name: build + +on: + push: + branches: [ "v2018.01-solidrun-imx6" ] + pull_request: + branches: [ "v2018.01-solidrun-imx6" ] + # 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:buster-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 scripts + shell: bash + run: | + make mx6cuboxi_defconfig + make -j$(nproc) scripts + + - name: Build eMMC data + shell: bash + run: | + make mx6cuboxi_defconfig + make -j$(nproc) + install -v -m644 -D SPL deploy/spl-emmc.kwb + install -v -m644 -D u-boot.img deploy/u-boot-emmc.kwb + + - name: Build eMMC boot0 + shell: bash + run: | + make mx6cuboxi_defconfig + ./scripts/kconfig/conf --set-val SYS_MMC_ENV_PART 1 + make -j$(nproc) + install -v -m644 -D SPL deploy/spl-emmc-boot0.kwb + install -v -m644 -D u-boot.img deploy/u-boot-emmc-boot0.kwb + + - name: Build eMMC boot1 + shell: bash + run: | + make mx6cuboxi_defconfig + ./scripts/kconfig/conf --set-val SYS_MMC_ENV_PART 2 + make -j$(nproc) + install -v -m644 -D SPL deploy/spl-emmc-boot1.kwb + install -v -m644 -D u-boot.img deploy/u-boot-emmc-boot1.kwb + + - name: Build SD + shell: bash + run: | + make mx6cuboxi_defconfig + ./scripts/kconfig/conf --disable SPL_BOOT_DEVICE_MMC + ./scripts/kconfig/conf --enable SPL_BOOT_DEVICE_SDHC + make -j$(nproc) + install -v -m644 -D SPL deploy/spl-sd.kwb + install -v -m644 -D u-boot.img deploy/u-boot-sd.kwb + + + - name: Build SATA + shell: bash + run: | + make mx6cuboxi_defconfig + ./scripts/kconfig/conf --disable SPL_BOOT_DEVICE_MMC + ./scripts/kconfig/conf --enable SPL_BOOT_DEVICE_SATA + ./scripts/kconfig/conf --enable SCSI_AHCI + ./scripts/kconfig/conf --enable SPL_SATA_RAW_U_BOOT_USE_SECTOR + ./scripts/kconfig/conf --enable SPL_SATA_RAW_U_BOOT_SECTOR + ./scripts/kconfig/conf --enable ENV_IS_NOWHERE + make -j$(nproc) + install -v -m644 -D SPL deploy/spl-sata.kwb + install -v -m644 -D u-boot.img deploy/u-boot-sata.kwb + + - name: Build SPI + shell: bash + run: | + make mx6cuboxi_defconfig + ./scripts/kconfig/conf --disable SPL_BOOT_DEVICE_MMC + ./scripts/kconfig/conf --enable SPL_BOOT_DEVICE_SPI_FLASH + make -j$(nproc) + install -v -m644 -D SPL deploy/spl-spi.kwb + install -v -m644 -D u-boot.img deploy/u-boot-spi.kwb + + - name: Upload to S3 + if: github.ref == 'refs/heads/v2018.01-solidrun-imx6' && github.event_name != 'pull_request' + 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: IMX6/U-Boot/${{ steps.tag_step.outputs.build_ver }}/${{ steps.tag_step.outputs.build_tag }}