mirror of
https://github.com/linuxboot/linuxboot
synced 2024-11-22 08:09:41 +00:00
a6a31b3c45
Signed-off-by: Daniel Maslowski <info@orangecms.org>
106 lines
3.2 KiB
YAML
106 lines
3.2 KiB
YAML
name: CI
|
|
on:
|
|
# Triggers the workflow on push or pull request events but only for the
|
|
# master branch.
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
# Triggers the workflow every day at 23:00.
|
|
schedule:
|
|
- cron: '0 23 * * *'
|
|
|
|
# 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
|
|
|
|
# Environment variables
|
|
env:
|
|
# Setup $GOPATH
|
|
GOPATH: ${{ github.workspace }}/go
|
|
# Turn off modules because they are broken.
|
|
GO111MODULE: off
|
|
|
|
# Run the build for each one of these configurations in parallel.
|
|
strategy:
|
|
matrix:
|
|
# The `${{ matrix.mainboard }}` variable is replaced with each of these.
|
|
mainboard:
|
|
# '-' is used instead of '/' due to restrictions on artifact upload.
|
|
- aeeon-up
|
|
- aeeon-upxtreme
|
|
- amd-rome
|
|
- ampere-jade
|
|
- bytedance-g220a
|
|
- cubie-board
|
|
- digitalloggers-atomicpi
|
|
- hpe-dl360gen10
|
|
- intel-generic
|
|
- intel-hw
|
|
- intel-minplatform
|
|
- intel-s2600
|
|
- lenovo-hr630
|
|
- lenovo-sr630
|
|
- lenovo-thinkpad
|
|
- marvel-macchiatobin
|
|
- opentitanpilot-dresden
|
|
- pcengines-apu
|
|
- pcengines-apu2
|
|
# - seeed-beaglev # FIXME: broken due to upstream sources gone
|
|
- slimboot
|
|
- st-st32mp1517c
|
|
- tyan7106
|
|
- qemu-x86_64
|
|
- walmart-robot
|
|
|
|
# Do not cancel all jobs steps if a single one fails.
|
|
fail-fast: false
|
|
|
|
# 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.
|
|
- uses: actions/checkout@v2
|
|
# We need this newer version of Go.
|
|
- name: Go version
|
|
uses: actions/setup-go@v2
|
|
with:
|
|
go-version: '^1.17.6'
|
|
- name: Install dependent packages
|
|
run: |
|
|
set -ex
|
|
sudo apt-get update
|
|
sudo apt-get install gcc-aarch64-linux-gnu gcc-arm-linux-gnueabi{,hf} gcc-riscv64-linux-gnu libelf-dev u-boot-tools
|
|
# TODO: This is a temporary workaround, need to streamline key handling
|
|
- name: Fake SSH keys to pass builds
|
|
run: |
|
|
mkdir ~/.ssh && touch ~/.ssh/cpu_rsa.pub
|
|
touch mainboards/tyan7106/key.pub
|
|
touch mainboards/tyan7106/ssh_host_rsa_key
|
|
# Runs a set of commands using the runners shell
|
|
- name: Make ${{ matrix.mainboard }} kernel
|
|
run: |
|
|
set -ex
|
|
cd mainboards
|
|
PATH=$GOPATH/bin:/usr/local/go/bin:$PATH
|
|
cd $(echo ${{ matrix.mainboard }} | tr '-' '/')
|
|
make fetch
|
|
make flashkernel
|
|
- name: Upload Artifact
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: ${{ matrix.mainboard }}
|
|
path: |
|
|
**/flashkernel
|
|
**/flashinitramfs.cpio
|
|
retention-days: 30
|