armbian-build/.github/workflows/build-test-image-docker.yml
2021-12-07 20:13:15 +01:00

108 lines
3.9 KiB
YAML

name: Build test with Docker
on:
# Trigger after Docker image was built
workflow_run:
workflows: ["Build Docker image"]
types:
- completed
# Trigger on pull reqests
pull_request:
types: [review_requested, ready_for_review]
# Trigger manually
workflow_dispatch:
jobs:
gradle:
strategy:
fail-fast: false
matrix:
board: [uefi-arm64,uefi-x86,virtual-qemu]
release: [focal,buster,bullseye,hirsute,jammy]
desktop: [xfce]
if: ${{ github.repository_owner == 'Armbian' }}
name: Variant
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0
repository: armbian/build
path: build
clean: true
- name: Checkout support scripts
uses: actions/checkout@v2
with:
fetch-depth: 0
repository: armbian/scripts
path: scripts
clean: true
- name: Sync
run: |
mkdir -p build/userpatches
sudo cp scripts/configs/* build/userpatches/
- name: Pull Docker image
run: |
sudo docker pull ghcr.io/armbian/build:$(cat build/VERSION)
- name: Build test image
run: |
cd build
# we need to fix this once but fake toolchain will prevent downloading it each time
mkdir -p cache/toolchain/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu
touch cache/toolchain/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/.download-complete
mkdir -p cache/toolchain/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabi
touch cache/toolchain/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabi/.download-complete
mkdir -p cache/toolchain/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux
touch cache/toolchain/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/.download-complete
mkdir -p cache/toolchain/gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux
touch cache/toolchain/gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux/.download-complete
mkdir -p cache/toolchain/gcc-linaro-arm-none-eabi-4.8-2014.04_linux
touch cache/toolchain/gcc-linaro-arm-none-eabi-4.8-2014.04_linux/.download-complete
mkdir -p cache/toolchain/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu
touch cache/toolchain/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/.download-complete
mkdir -p cache/toolchain/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf
touch cache/toolchain/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/.download-complete
mkdir -p cache/toolchain/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu
touch cache/toolchain/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/.download-complete
mkdir -p cache/toolchain/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf
touch cache/toolchain/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/.download-complete
export TERM=dumb
sed -i "s/-it --rm/-i --rm/" userpatches/config-docker.conf
sed -i "s/COMPRESS_OUTPUTIMAGE=.*/COMPRESS_OUTPUTIMAGE=\"no\"/" userpatches/lib.config
./compile.sh docker \
BETA=yes \
EXPERT=yes \
BOARD=${{ matrix.board }} \
BRANCH=current \
RELEASE=${{ matrix.release }} \
BUILD_MINIMAL=no \
BUILD_DESKTOP=yes \
KERNEL_ONLY=no \
KERNEL_CONFIGURE=prebuilt \
COMPRESS_OUTPUTIMAGE=no \
IGNORE_UPDATES=yes \
DESKTOP_ENVIRONMENT_CONFIG_NAME="config_base" \
DESKTOP_ENVIRONMENT=${{ matrix.desktop }} \
DESKTOP_APPGROUPS_SELECTED=""
# - name: Upload artefacts
# uses: actions/upload-artifact@v2
# with:
# name: virtual-qemu
# path: build/output/images/*
# if-no-files-found: ignore
# retention-days: 10