Skip to content

Build Airwaves OS (Armbian base) #63

Build Airwaves OS (Armbian base)

Build Airwaves OS (Armbian base) #63

Workflow file for this run

name: Build Airwaves OS (Armbian base)
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
inputs:
set_branch:
description: "Branch: edge / current / legacy"
required: false
default: "current"
set_release:
description: "Release: jammy / focal / bullseye"
required: false
default: "jammy"
set_board:
description: "Board: odroidn2 / lepotato"
required: false
default: "rockpi-4b"
set_desktop:
description: "Build Desktop: no / gnome / xfce, etc."
required: false
default: "no"
armbian_kernel:
description: "Set kernel version."
required: false
default: "5.15.25_5.10.100"
armbian_size:
description: "Set armbian rootfs size."
required: false
default: "2748"
armbian_fstype:
description: "Set armbian rootfs type."
required: false
default: "ext4"
armbian_sign:
description: "Set armbian custom name."
required: false
default: ""
env:
BUILD_MINIMAL: no
KERNEL_CONFIGURE: no
BUILD_DESKTOP: no
HOST: aros
jobs:
build:
runs-on: self-hosted
steps:
- name: Checkout airwaves-os
uses: actions/checkout@v3
with:
path: airwaves-os
- name: Checkout armbian
uses: actions/checkout@v3
with:
repository: armbian/build
path: build
clean: no
- name: Initialization environment
env:
DEBIAN_FRONTEND: noninteractive
run: |
#sudo rm -rf /etc/apt/sources.list.d/* /usr/share/dotnet /usr/local/lib/android /opt/ghc
#sudo -E apt-get -qq update
#sudo -E apt-get -qq autoremove --purge
#sudo -E apt-get -qq clean
set_board="${{ github.event.inputs.set_board }}"
if [[ -z "${set_board}" ]]; then
set_board="rockpi-4b"
fi
echo "BOARD=${set_board}" >> $GITHUB_ENV
set_branch="${{ github.event.inputs.set_branch }}"
if [[ -z "${set_branch}" ]]; then
set_branch="current"
fi
echo "BRANCH=${set_branch}" >> $GITHUB_ENV
set_release="${{ github.event.inputs.set_release }}"
if [[ -z "${set_release}" ]]; then
set_release="jammy"
fi
echo "RELEASE=${set_release}" >> $GITHUB_ENV
- name: Patch source with customizations
run: |
mkdir -p ${GITHUB_WORKSPACE}/build/output/
mkdir -p ${GITHUB_WORKSPACE}/build/userpatches/extensions/
cp -ar ${GITHUB_WORKSPACE}/airwaves-os/armbian/extensions/* ${GITHUB_WORKSPACE}/build/userpatches/extensions/
cp -ar ${GITHUB_WORKSPACE}/airwaves-os/armbian/base/*.conf ${GITHUB_WORKSPACE}/build/userpatches/
- name: Compile Armbian
id: build
run: |
cd ${GITHUB_WORKSPACE}/build/
chmod +x compile.sh
./compile.sh COMPRESS_OUTPUTIMAGE=xz PREFER_DOCKER=yes BUILD_MINIMAL=$BUILD_MINIMAL BOARD=${{ env.BOARD }} BRANCH=${{ env.BRANCH }} RELEASE=${{ env.RELEASE }} BUILD_DESKTOP=$BUILD_DESKTOP HOST=$HOST airwaves-os
echo "::set-output name=status::success"
- name: Upload Armbian image
uses: actions/upload-artifact@master
if: steps.build.outputs.status == 'success'
with:
name: airwaves_OS_${{ env.BOARD }}
path: "${{ job.build.output.armbian_image_version }}.img.xz"
if-no-files-found: error