add ci using github actions #9
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 Clearfog Pro SD | |
shell: bash | |
run: | | |
make clearfog_defconfig | |
make -j$(nproc) | |
install -v -m644 -D u-boot-with-spl.kwb deploy/u-boot-clearfog-pro-sd.kwb | |
- name: Build Clearfog Pro 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-clearfog-pro-emmc.kwb | |
- name: Build Clearfog Pro 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-clearfog-pro-emmc-boot0.kwb | |
- name: Build Clearfog Pro 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-clearfog-pro-emmc-boot1.kwb | |
- name: Build Clearfog Pro SATA | |
shell: bash | |
run: | | |
make clearfog_sata_defconfig | |
make -j$(nproc) | |
install -v -m644 -D u-boot-with-spl.kwb deploy/u-boot-clearfog-pro-sata.kwb | |
- name: Build Clearfog Pro SPI | |
shell: bash | |
run: | | |
make clearfog_spi_defconfig | |
make -j$(nproc) | |
install -v -m644 -D u-boot-with-spl.kwb deploy/u-boot-clearfog-pro-spi.kwb | |
- name: Build Clearfog Pro UART | |
shell: bash | |
run: | | |
make clearfog_defconfig | |
./scripts/config --disable MVEBU_SPL_BOOT_DEVICE_MMC | |
./scripts/config --disable ENV_IS_IN_MMC | |
./scripts/config --disable SPL_MMC | |
./scripts/config --enable MVEBU_SPL_BOOT_DEVICE_UART | |
./scripts/config --enable ENV_IS_NOWHERE | |
make -j$(nproc) | |
install -v -m644 -D u-boot-with-spl.kwb deploy/u-boot-clearfog-pro-uart.kwb | |
- name: Build Clearfog Base SD | |
shell: bash | |
run: | | |
make clearfog_defconfig | |
./scripts/config --enable TARGET_CLEARFOG_BASE | |
make -j$(nproc) | |
install -v -m644 -D u-boot-with-spl.kwb deploy/u-boot-clearfog-base-sd.kwb | |
- name: Build Clearfog Base eMMC data | |
shell: bash | |
run: | | |
make clearfog_defconfig | |
./scripts/config --enable TARGET_CLEARFOG_BASE | |
./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-clearfog-base-emmc.kwb | |
- name: Build Clearfog Base eMMC boot0 | |
shell: bash | |
run: | | |
make clearfog_defconfig | |
./scripts/config --enable TARGET_CLEARFOG_BASE | |
./scripts/config --set-val SYS_MMC_ENV_PART 1 | |
make -j$(nproc) | |
install -v -m644 -D u-boot-with-spl.kwb deploy/u-boot-clearfog-base-emmc-boot0.kwb | |
- name: Build Clearfog Base eMMC boot1 | |
shell: bash | |
run: | | |
make clearfog_defconfig | |
./scripts/config --enable TARGET_CLEARFOG_BASE | |
./scripts/config --set-val SYS_MMC_ENV_PART 2 | |
make -j$(nproc) | |
install -v -m644 -D u-boot-with-spl.kwb deploy/u-boot-clearfog-base-emmc-boot1.kwb | |
- name: Build Clearfog Base SATA | |
shell: bash | |
run: | | |
make clearfog_sata_defconfig | |
./scripts/config --enable TARGET_CLEARFOG_BASE | |
make -j$(nproc) | |
install -v -m644 -D u-boot-with-spl.kwb deploy/u-boot-clearfog-base-sata.kwb | |
- name: Build Clearfog Base SPI | |
shell: bash | |
run: | | |
make clearfog_spi_defconfig | |
./scripts/config --enable TARGET_CLEARFOG_BASE | |
make -j$(nproc) | |
install -v -m644 -D u-boot-with-spl.kwb deploy/u-boot-clearfog-base-spi.kwb | |
- name: Build Clearfog Base UART | |
shell: bash | |
run: | | |
make clearfog_defconfig | |
./scripts/config --enable TARGET_CLEARFOG_BASE | |
./scripts/config --disable MVEBU_SPL_BOOT_DEVICE_MMC | |
./scripts/config --disable ENV_IS_IN_MMC | |
./scripts/config --disable SPL_MMC | |
./scripts/config --enable MVEBU_SPL_BOOT_DEVICE_UART | |
./scripts/config --enable ENV_IS_NOWHERE | |
make -j$(nproc) | |
install -v -m644 -D u-boot-with-spl.kwb deploy/u-boot-clearfog-base-uart.kwb | |
- name: Upload to S3 | |
uses: shallwefootball/[email protected] | |
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 }} |