Skip to content

Commit

Permalink
ci: add github actions config
Browse files Browse the repository at this point in the history
  • Loading branch information
frank-w committed Aug 3, 2023
1 parent 1035768 commit b6d9656
Showing 1 changed file with 162 additions and 0 deletions.
162 changes: 162 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
# This is a basic workflow to help you get started with Actions

name: CI

# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches:
- '*-bpi'
- '*-ci'

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Checkout
uses: actions/checkout@v3

- name: Install depencies
run: |
sudo apt update
sudo apt install ccache libssl-dev u-boot-tools gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu make python3-pyelftools
- name: Setup env
run: |
echo "DT=$(date +'%Y-%m-%d_%H%M')" >> $GITHUB_ENV
echo "UBOOTVER=$(make ubootversion)" >> $GITHUB_ENV
echo "BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV
- name: Print env
run: |
echo $BRANCH $UBOOTVER $DT
- name: Setup cache
id: cache
uses: actions/cache@v3
with:
path: ~/.ccache
key: ${{ runner.os }}-ccache
restore-keys: ${{ runner.os }}-ccache

- name: Fetch mtk-atf branch for R64 + R3
run: |
git fetch origin mtk-atf
- name: Build for BananaPi-R2
run: |
export PATH=/usr/lib/ccache:$PATH
bash build.sh importconfig
bash build.sh build
bash build.sh createimg
bash build.sh rename
- name: Build for BananaPi-R64
run: |
sed -i 's/#\(board=bpi-r64\)/\1/' build.conf #change board to r64
bash build.sh importconfig
bash build.sh build
bash build.sh rename
git stash #stash build.conf
git checkout mtk-atf
echo -e "board=bpi-r64\ndevice=sdmmc" > build.conf
bash build.sh build
bash build.sh rename
bash build.sh createimg non-interactive
rm build.conf
git checkout ${{ env.BRANCH }}
git stash pop #restore build.conf
- name: Build for BananaPi-R2Pro
run: |
sed -i 's/#\(board=bpi-r2pro\)/\1/' build.conf #change board to r2pro
bash build.sh importconfig
bash build.sh build
bash build.sh createimg
bash build.sh rename
- name: Build for BananaPi-R3
run: |
sed -i 's/#\(board=bpi-r3\)/\1/' build.conf #change board to r3
bash build.sh importconfig
bash build.sh build
bash build.sh rename
git stash #stash build.conf
git checkout mtk-atf
echo -e "board=bpi-r3\ndevice=sdmmc" > build.conf
bash build.sh build
bash build.sh rename
bash build.sh createimg non-interactive
rm build.conf
git checkout ${{ env.BRANCH }}
git stash pop #restore build.conf
sed -i 's/#\(device=emmc\)/\1/' build.conf #change device
bash build.sh importconfig
bash build.sh build
bash build.sh rename
git stash #stash build.conf
git checkout mtk-atf
echo -e "board=bpi-r3\ndevice=emmc" > build.conf
bash build.sh build
bash build.sh rename
rm build.conf
git checkout ${{ env.BRANCH }}
git stash pop #restore build.conf
sed -i 's/#\(device=spi-nand\)/\1/' build.conf #change device
bash build.sh importconfig
bash build.sh build
bash build.sh rename
git stash #stash build.conf
git checkout mtk-atf
echo -e "board=bpi-r3\ndevice=spim-nand" > build.conf
bash build.sh build
bash build.sh rename
rm build.conf
git checkout ${{ env.BRANCH }}
git stash pop #restore build.conf
sed -i 's/#\(device=spi-nor\)/\1/' build.conf #change device
bash build.sh importconfig
bash build.sh build
bash build.sh rename
git stash #stash build.conf
git checkout mtk-atf
echo -e "board=bpi-r3\ndevice=nor" > build.conf
bash build.sh build
bash build.sh rename
rm build.conf
- name: Upload binaries to release
if: endsWith(github.ref,'-bpi') && contains(env.UBOOTVER,'-rc') == false
uses: marvinpinto/action-automatic-releases@latest
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "CI-BUILD-${{ env.BRANCH }}-${{ env.UBOOTVER }}-${{ env.DT }}"
prerelease: false
title: "Build for branch ${{ env.BRANCH }} (${{ env.UBOOTVER }})"
files: |
u-boot-r2*.bin
u-boot-r64*.bin
u-boot-r3*.bin
*_fip.bin
*_bl2.img
*.img.gz
u-boot-r2pro*.bin

0 comments on commit b6d9656

Please sign in to comment.