Skip to content

Commit

Permalink
add ci using github actions
Browse files Browse the repository at this point in the history
Signed-off-by: Josua Mayer <osua@solid-run.com>
  • Loading branch information
Josua-SR committed Jun 27, 2024
1 parent 25049ad commit 3c74de4
Showing 1 changed file with 170 additions and 0 deletions.
170 changes: 170 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
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/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 }}

0 comments on commit 3c74de4

Please sign in to comment.