Build Armbian USERSPACE for HARDWARE #2
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 images XXX" | |
on: | |
workflow_dispatch: | |
inputs: | |
skipImages: | |
description: 'Skip building images? no = build images, yes = skip images' | |
required: true | |
options: [ 'yes', 'no' ] | |
type: choice | |
default: 'no' | |
branch: | |
type: choice | |
description: 'Framework build branch' | |
options: | |
# branches | |
- main | |
- v23.11 | |
default: 'main' | |
board: | |
type: choice | |
description: 'Board' | |
options: | |
# boards | |
- bananapicm4io | |
- bananapim2pro | |
- bananapim2s | |
- bananapim5 | |
- bigtreetech-cb1 | |
- jethubj100 | |
- jethubj80 | |
- khadas-edge2 | |
- khadas-vim1 | |
- khadas-vim1s | |
- khadas-vim2 | |
- khadas-vim3 | |
- khadas-vim3l | |
- khadas-vim4 | |
- lafrite | |
- lepotato | |
- nanopi-r4s | |
- nanopi-r6s | |
- nanopiduo | |
- nanopiduo2 | |
- odroidc2 | |
- odroidm1 | |
- odroidn2 | |
- odroidxu4 | |
- olimex-teres-a64 | |
- onecloud | |
- orangepi-r1 | |
- orangepi-r1plus-lts | |
- orangepi4-lts | |
- orangepi5-plus | |
- orangepi5 | |
- orangepione | |
- orangepiprime | |
- orangepizero | |
- orangepizero2 | |
- orangepizeroplus | |
- pine64 | |
- pinebook-pro | |
- radxa-zero | |
- renegade | |
- rock-3a | |
- rock-5b | |
- rockpi-4a | |
- rockpi-e | |
- rockpro64 | |
- rpi4b | |
- rpi5b | |
- sk-am62b | |
- sk-am64b | |
- sk-tda4vm | |
- tinkerboard | |
- tritium-h3 | |
- tritium-h5 | |
- uefi-arm64 | |
- uefi-x86 | |
- xiaomi-elish | |
- all | |
default: 'all' | |
targetsFilterInclude: | |
description: 'TARGETS_FILTER_INCLUDE, example: "BOARD:odroidhc4,BOARD:odroidn2"' | |
required: false | |
default: '' | |
type: string | |
nightlybuild: | |
description: 'yes = nighlty, no = stable' | |
required: false | |
options: [ 'yes', 'no' ] | |
type: choice | |
default: 'no' | |
uploadtoserver: | |
description: 'CDN upload github = releases, armbian = rsync.armbian.com' | |
required: false | |
options: [ 'github', 'armbian', 'both' ] | |
type: choice | |
default: 'armbian' | |
versionOverride: | |
description: 'Version override. Leave empty for automatic bump' | |
required: false | |
default: '' | |
build_runner: | |
description: 'GH runner' | |
required: false | |
default: 'ubuntu-latest' | |
env: | |
# For easier reuse across the multiple chunks ('armbian/build' repo) | |
BUILD_REPOSITORY: "armbian/build" | |
BUILD_REF: "${{ inputs.ref || inputs.branch || 'main' }}" # branch or tag or sha1 | |
# For easier reuse across the multiple chunks ('armbian/os' repo) | |
USERPATCHES_REPOSITORY: "armbian/os" | |
USERPATCHES_REF: "main" # branch or tag or sha1 | |
USERPATCHES_DIR: "userpatches" # folder inside USERPATCHES_REPOSITORY | |
# Github repository for releases. Normally its the one where we executing script | |
RELEASE_REPOSITORY: "os" | |
# Armbian envs. Adjust to your needs | |
# This makes builds faster, but only if the Docker images are up-to-date with all dependencies, Python, tools, etc. Otherwise it makes it... slower. | |
DOCKER_SKIP_UPDATE: "yes" # Do not apt update/install/requirements/etc during Dockerfile build, trust that images are up-to-date. | |
# Added to every build, even the prepare job. | |
EXTRA_PARAMS_ALL_BUILDS: "${{ inputs.extraParamsAllBuilds || 'UPLOAD_TO_OCI_ONLY=yes' }}" | |
VERSION_OVERRIDE: "${{ github.event.inputs.versionOverride }}" | |
# To use GitHub CLI in a GitHub Actions workflow | |
GH_TOKEN: "${{ secrets.ACCESS_TOKEN }}" | |
# Added to every image build arguments. | |
EXTRA_PARAMS_IMAGE: "COMPRESS_OUTPUTIMAGE=xz,sha SHOW_DEBIAN=yes SHARE_LOG=yes " | |
# To ensure that only a single workflow using the same concurrency group will run at a time | |
concurrency: | |
group: ${{ github.run_id }}-standard-supportstable | |
cancel-in-progress: false | |
jobs: | |
build: | |
runs-on: ${{ inputs.BUILD_RUNNER }} | |
steps: | |
- name: Update | |
if: inputs.BUILD_RUNNER == 'ubuntu-latest' | |
run: | | |
sudo apt update | |
sudo apt -y clean | |
- name: Free Github Runner | |
if: inputs.BUILD_RUNNER == 'ubuntu-latest' | |
uses: descriptinc/free-disk-space@main | |
with: | |
android: true | |
dotnet: true | |
haskell: true | |
large-packages: true | |
docker-images: true | |
swap-storage: true | |
- name: Compile the kernel | |
uses: igorpecovnik/build@main | |
with: | |
build_target: kernel | |
kernel_source: ${{ inputs.kernel_source }} |