Skip to content

Commit

Permalink
integrate with pi-gen.
Browse files Browse the repository at this point in the history
  • Loading branch information
Gabriel Y C Chan committed Jun 19, 2023
1 parent 3017d90 commit 257e8e1
Showing 1 changed file with 131 additions and 0 deletions.
131 changes: 131 additions & 0 deletions .github/workflows/image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
name: image

on:
push:
branches:
- master
- ci

jobs:
build:
runs-on: ubuntu-22.04
- name: Check out repository
uses: actions/checkout@v2

- name: Build image
uses: usimd/pi-gen-action@v1
with:
# Compression to apply on final image (either "none", "zip", "xz" or "gz").
compression: zip

# Compression level to be used. From 0 to 9 (refer to the tool man page for more
# information on this. Usually 0 is no compression but very fast, up to 9 with the
# best compression but very slow).
compression-level: 6

# Disable the renaming of the first user during the first boot. This make it so
# 'username' stays activated. 'username' must be set for this to work. Please be
# aware of the implied security risk of defining a default username and password
# for your devices.
disable-first-boot-user-rename: 1

# Additional options to include in PIGEN_DOCKER_OPTS
docker-opts: ''

# Set whether a NOOBS image should be built as well. If enabled, the output
# directory containing the NOOBS files will be saved as output variable
# 'image-noobs-path'.
enable-noobs: false

# Enable SSH access to Pi.
enable-ssh: 1

# If this feature is enabled, the action will configure pi-gen to not export any
# stage as image but the last one defined in property 'stage-list'. This is
# helpful when building a single image flavor (in contrast to building a
# lite/server and full-blown desktop image), since it speeds up the build process
# significantly.
export-last-stage-only: true

# Comma or whitespace separated list of additional packages to install on host
# before running pi-gen. Use this list to add any packages your custom stages may
# require. Note that this is not affecting the final image. In order to add
# additional packages, you need to add a respective 'XX-packages' file in your
# custom stage.
extra-host-dependencies: ''

# Comma or whitespace separated list of additional modules to load on host before
# running pi-gen. If your custom stage requires additional software or kernel
# modules to be loaded, add them here. Note that this is not meant to configure
# modules to be loaded in the target image.
extra-host-modules: ''

# Token to use for checking out pi-gen repo.
github-token: ${{ github.token }}

# Host name of the image.
hostname: door

# Final image name.
image-name: "door-$(date -u '+%y%m%d%H%M')-${{steps.extract_branch.outputs.branch}}"

# Default keyboard keymap.
keyboard-keymap: us

# Default keyboard layout.
keyboard-layout: English (US)

# Default locale of the system image.
locale: en_US.UTF-8

# Password of the intial user account, locked if empty.
password: 'door' # fixme

# Path where selected pi-gen ref will be checked out to. If the path does not yet
# exist, it will be created (including its parents).
pi-gen-dir: pi-gen

# GitHub repository to fetch pi-gen from, must be a fork from RPi-Distro/pi-gen.
pi-gen-repository: RPi-Distro/pi-gen

# Release version of pi-gen to use. This can both be a branch or tag name known in
# the pi-gen repository.
pi-gen-version: armv6

# The release version to build images against. Valid values are jessie, stretch,
# buster, bullseye, and testing.
release: bullseye

# Setting to `1` will prevent pi-gen from dropping the "capabilities" feature.
# Generating the root filesystem with capabilities enabled and running it from a
# filesystem that does not support capabilities (like NFS) can cause issues. Only
# enable this if you understand what it is.
setfcap: ''

# List of stage name to execute in given order. Relative and absolute paths to
# custom stage directories are allowed here. Note that by default pi-gen exports
# images in stage2 (lite), stage4 and stage5. You probably want to hook in custom
# stages before one of the exported stages. Otherwise, the action will make sure
# any custom stage will include an image export directive.
stage-list: stage0 stage1 stage2

# System timezone.
timezone: Asia/Hong_Kong

# Use qcow2 images to reduce space and runtime requirements.
use-qcow2: 1

# Name of the initial user account.
username: pi

# Print all output from pi-gen.
verbose-output: false

# Wifi country code of default network to connect to.
wpa-country: ''

# SSID of a default wifi network to connect to.
wpa-essid: ''

# Password of default wifi network to connect to.
wpa-password: ''

0 comments on commit 257e8e1

Please sign in to comment.