autobuild: set debug mode for development branches #138
Workflow file for this run
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: Kernel | |
on: | |
push: | |
branches: | |
- "*" | |
tags-ignore: | |
- v* | |
paths-ignore: | |
- README.md | |
# define global buildmode variable used by initramfs | |
# and by tf-build-upload script to specify if we trigger | |
# a 'debug' or 'release' (production) image | |
# | |
# mode release: | |
# set by default here, theses images are the most | |
# secure and are production ready, does not ship debugging | |
# tools and have hardened security | |
# | |
# mode debug: | |
# only set if branch name starts with 'development-' prefix, theses | |
# images contains easy remote access and extra debugging tools | |
# | |
# -- DEBUG IMAGE SHOULD NEVER BE USED IN A PRODUCTION -- | |
# | |
env: | |
BUILDMODE: release | |
jobs: | |
kernel: | |
name: "Zero-OS Kernel Image" | |
runs-on: ubuntu-latest | |
container: ubuntu:20.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v1 | |
- name: Extract branch name | |
shell: bash | |
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" | |
id: runbranch | |
- name: Update global build mode for debugging | |
if: ${{ contains(github.ref, 'development-') }} | |
run: echo "BUILDMODE=debug" >> $GITHUB_ENV | |
- name: "Install: go" | |
uses: actions/setup-go@v1 | |
with: | |
go-version: 1.21 | |
id: go | |
- name: "Install: requirements" | |
run: | | |
bash ./autobuild/tf-build-deps-clean.sh | |
- name: "Install: rust" | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
target: x86_64-unknown-linux-musl | |
default: true | |
- name: "Fetch: sources" | |
run: | | |
export INTERACTIVE="false" | |
bash initramfs.sh --download | |
- name: "Build: busybox" | |
run: | | |
bash initramfs.sh --busybox | |
- name: "Build: userland" | |
run: | | |
bash initramfs.sh --tools | |
- name: "Build: extensions" | |
run: | | |
bash initramfs.sh --extensions | |
- name: "Build: cores" | |
run: | | |
bash initramfs.sh --cores | |
- name: "Build: kernel" | |
run: | | |
bash initramfs.sh --kernel --modules | |
- name: "Upload: kernel" | |
env: | |
BOOTSTRAP_TOKEN: ${{ secrets.BOOTSTRAP_TOKEN }} | |
IMAGE_BRANCH: ${{ steps.runbranch.outputs.branch }} | |
run: | | |
bash ./autobuild/tf-build-upload.sh |