Added build and integration test steps to the manual workflow.
This commit is contained in:
parent
2eed414468
commit
b5271985e3
9
.github/99_autoshutdown.sh
vendored
Normal file
9
.github/99_autoshutdown.sh
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# This script shuts down the OS after one minute.
|
||||||
|
sleep 30 && poweroff &
|
||||||
|
|
||||||
|
cat << CEOF
|
||||||
|
[1m Minimal Linux Live will shut down in 30 seconds.[0m
|
||||||
|
CEOF
|
||||||
|
|
45
.github/build_mll.sh
vendored
Normal file
45
.github/build_mll.sh
vendored
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# This script is supposed to be executed by GitHub workflow.
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
cd ../src
|
||||||
|
|
||||||
|
sudo apt-get -qq -y install wget make gawk gcc bc xz-utils bison flex xorriso libelf-dev libssl-dev
|
||||||
|
|
||||||
|
PREFIXES="00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16"
|
||||||
|
|
||||||
|
for PREFIX in ${PREFIXES}
|
||||||
|
do
|
||||||
|
SCRIPTS=`ls ${PREFIX}_*.sh`
|
||||||
|
for SCRIPT in ${SCRIPTS}
|
||||||
|
do
|
||||||
|
echo "`date` | Running script '${SCRIPT}'."
|
||||||
|
set +e
|
||||||
|
./${SCRIPT} > /tmp/mll.log 2>&1
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ "$?" = "0" ] ; then
|
||||||
|
echo "`date` | Success."
|
||||||
|
tail -n 40 /tmp/mll.log
|
||||||
|
echo "*** *** ***"
|
||||||
|
else
|
||||||
|
echo "`date` | !!! FAILURE !!!"
|
||||||
|
tail -n 1000 /tmp/mll.log
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
cat << CEOF
|
||||||
|
|
||||||
|
######################
|
||||||
|
# #
|
||||||
|
# MLL build is OK. #
|
||||||
|
# #
|
||||||
|
######################
|
||||||
|
|
||||||
|
CEOF
|
||||||
|
|
||||||
|
set +e
|
17
.github/github-ci.sh
vendored
Normal file
17
.github/github-ci.sh
vendored
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# This script is supposed to be executed by GitHub workflow.
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Apply GitHub workflow specific patches
|
||||||
|
mkdir -p ../src/minimal_overlay/rootfs/etc/autorun
|
||||||
|
cp 99_autoshutdown.sh ../src/minimal_overlay/rootfs/etc/autorun
|
||||||
|
chmod +x ../src/minimal_overlay/rootfs/etc/autorun/99_autoshutdown.sh
|
||||||
|
cp -f syslinux.cfg ../src/minimal_boot/bios/boot/syslinux/syslinux.cfg
|
||||||
|
sed -i "s|OVERLAY_LOCATION.*|OVERLAY_LOCATION=rootfs|" ../src/.config
|
||||||
|
|
||||||
|
sudo apt-get -qq -y update
|
||||||
|
sudo apt-get -qq -y upgrade
|
||||||
|
|
||||||
|
set +e
|
6
.github/syslinux.cfg
vendored
Normal file
6
.github/syslinux.cfg
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
SERIAL 0
|
||||||
|
DEFAULT operatingsystem
|
||||||
|
LABEL operatingsystem
|
||||||
|
LINUX /boot/kernel.xz
|
||||||
|
APPEND console=tty0 console=ttyS0
|
||||||
|
INITRD /boot/rootfs.xz
|
27
.github/test_docker.sh
vendored
Normal file
27
.github/test_docker.sh
vendored
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# This script is supposed to be executed by GitHub workflow.
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
cd ../src
|
||||||
|
|
||||||
|
echo "`date` | *** MLL Docker test - BEGIN ***"
|
||||||
|
|
||||||
|
docker import mll_image.tgz minimal-linux-live:latest
|
||||||
|
docker run minimal-linux-live /bin/cat /etc/motd
|
||||||
|
|
||||||
|
echo "`date` | *** MLL Docker test - END ***"
|
||||||
|
|
||||||
|
cat << CEOF
|
||||||
|
|
||||||
|
#########################
|
||||||
|
# #
|
||||||
|
# Docker test passed. #
|
||||||
|
# #
|
||||||
|
#########################
|
||||||
|
|
||||||
|
CEOF
|
||||||
|
|
||||||
|
set +e
|
||||||
|
|
47
.github/test_qemu.sh
vendored
Normal file
47
.github/test_qemu.sh
vendored
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# This script is supposed to be executed by GitHub workflow.
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
cd ../src
|
||||||
|
|
||||||
|
sudo apt-get -qq -y install qemu-system-x86-64
|
||||||
|
|
||||||
|
echo "`date` | *** MLL QEMU test - BEGIN ***"
|
||||||
|
|
||||||
|
qemu-system-x86_64 -m 256M -cdrom minimal_linux_live.iso -boot d -nographic &
|
||||||
|
|
||||||
|
sleep 5
|
||||||
|
|
||||||
|
if [ "`ps -ef | grep -i [q]emu-system-x86_64`" = "" ] ; then
|
||||||
|
echo "`date` | !!! FAILURE !!! Minimal Linux Live is not running in QEMU."
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo "`date` | Minimal Linux Live is running in QEMU. Waiting 120 seconds for automatic shutdown."
|
||||||
|
fi
|
||||||
|
|
||||||
|
sleep 120
|
||||||
|
|
||||||
|
if [ "`ps -ef | grep -i [q]emu-system-x86_64`" = "" ] ; then
|
||||||
|
echo "`date` | Minimal Linux Live is not running in QEMU."
|
||||||
|
else
|
||||||
|
echo "`date` | !!! FAILURE !!! Minimal Linux Live is still running in QEMU."
|
||||||
|
ps -ef | grep -i [q]emu-system-x86_64
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "`date` | *** MLL QEMU test - END ***"
|
||||||
|
|
||||||
|
cat << CEOF
|
||||||
|
|
||||||
|
#######################
|
||||||
|
# #
|
||||||
|
# QEMU test passed. #
|
||||||
|
# #
|
||||||
|
#######################
|
||||||
|
|
||||||
|
CEOF
|
||||||
|
|
||||||
|
set +e
|
||||||
|
|
21
.github/workflows/manual.yml
vendored
21
.github/workflows/manual.yml
vendored
@ -1,14 +1,23 @@
|
|||||||
name: 'Manual workflow'
|
name: 'MLL With Integration Tests'
|
||||||
on: 'workflow_dispatch'
|
on: 'workflow_dispatch'
|
||||||
jobs:
|
jobs:
|
||||||
mll:
|
mll:
|
||||||
runs-on: 'ubuntu-latest'
|
runs-on: 'ubuntu-latest'
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: 'Install Prerequisites'
|
- name: 'Apply Workflow Patches'
|
||||||
run: |
|
run: |
|
||||||
sudo apt install wget make gawk gcc bc bison flex xorriso libelf-dev libssl-dev
|
cd .github
|
||||||
- name: 'Build MLL'
|
bash ./github-ci.sh
|
||||||
|
- name: 'Build Minimal Linux Live'
|
||||||
run: |
|
run: |
|
||||||
cd src
|
cd .github
|
||||||
./build_minimal_linux_live.sh
|
bash ./build_mll.sh
|
||||||
|
- name: 'Test Docker'
|
||||||
|
run: |
|
||||||
|
cd .github
|
||||||
|
bash ./test_docker.sh
|
||||||
|
- name: 'Test QEMU'
|
||||||
|
run: |
|
||||||
|
cd .github
|
||||||
|
bash ./test_qemu.sh
|
||||||
|
Loading…
x
Reference in New Issue
Block a user