Merge pull request #161 from austin987/github-action
add github action for building image
This commit is contained in:
commit
680e6998d7
21
.github/workflows/build-image.yml
vendored
Normal file
21
.github/workflows/build-image.yml
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# FIXME: currently just builds it, eventually, should use qemu to try to run
|
||||||
|
# the image (potentially as a separate action)
|
||||||
|
name: build-prawnos-image
|
||||||
|
|
||||||
|
on: [push]
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: build
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: checkout project
|
||||||
|
uses: actions/checkout@master
|
||||||
|
- name: build image
|
||||||
|
run: docker run --mount type=bind,source=$PWD,target=/PrawnOS
|
||||||
|
--privileged=true -v/dev:/dev debian:buster
|
||||||
|
/bin/bash /PrawnOS/tests/build-image.sh "$GITHUB_SHA"
|
||||||
|
- name: publish image
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: image
|
||||||
|
path: "PrawnOS-Shiba-c201-git-*.img"
|
37
tests/build-image.sh
Executable file
37
tests/build-image.sh
Executable file
@ -0,0 +1,37 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# This file is part of PrawnOS (http://www.prawnos.com)
|
||||||
|
# Copyright (c) 2020 Austin English <austinenglish@gmail.com>
|
||||||
|
|
||||||
|
# PrawnOS is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License version 2
|
||||||
|
# as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
# PrawnOS is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with PrawnOS. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
|
||||||
|
GITHUB_SHA="$1"
|
||||||
|
|
||||||
|
cd "$(dirname "$0")/.."
|
||||||
|
|
||||||
|
# Get dependencies listed in README.md:
|
||||||
|
apt-get update
|
||||||
|
apt-get -y install --no-install-recommends --no-install-suggests bc binfmt-support bison cgpt cmake debootstrap device-tree-compiler flex g++ gawk gcc gcc-arm-none-eabi git libc-dev libncurses-dev libssl-dev lzip make parted patch qemu-user-static texinfo u-boot-tools vboot-kernel-utils wget
|
||||||
|
|
||||||
|
# And install stuff that is missing from the Debian/buster container:
|
||||||
|
apt-get -y install --no-install-recommends --no-install-suggests bzip2 ca-certificates cpio file gpg gpg-agent kmod udev
|
||||||
|
|
||||||
|
# Note: there's an error for /proc/modules, but at least building the image works fine:
|
||||||
|
# libkmod: ERROR ../libkmod/libkmod-module.c:1657 kmod_module_new_from_loaded: could not open /proc/modules: No such file or directory
|
||||||
|
make image
|
||||||
|
|
||||||
|
# rename the image to include git sha:
|
||||||
|
mv PrawnOS-Shiba-c201.img "PrawnOS-Shiba-c201-git-${GITHUB_SHA}.img"
|
Loading…
Reference in New Issue
Block a user