Skip to content

Commit 7d3518d

Browse files
jinghuithamelvin03
authored andcommitted
Add boot tester workflow
Signed-off-by: jinghuitham <jing.hui.tham@intel.com>
1 parent 75ebad7 commit 7d3518d

File tree

2 files changed

+384
-49
lines changed

2 files changed

+384
-49
lines changed

.github/workflows/boot_tester.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Boot Tester
2+
on:
3+
push:
4+
branches:
5+
- boot_workflow
6+
schedule:
7+
# Run twice a week: Tuesdays at 02:00 UTC and Fridays at 02:00 UTC
8+
- cron: '0 2 * * 2' # Tuesday at 2 AM UTC
9+
- cron: '0 2 * * 5' # Friday at 2 AM UTC
10+
workflow_dispatch: {}
11+
# Allow manual triggering of the workflow
12+
permissions:
13+
contents: read
14+
jobs:
15+
boot-test:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Checkout code
19+
uses: actions/checkout@v4
20+
with:
21+
persist-credentials: false
22+
23+
- name: Set up Docker Buildx
24+
uses: docker/setup-buildx-action@v3
25+
26+
- name: Install Earthly
27+
uses: earthly/actions-setup@v1
28+
with:
29+
github-token: ${{ secrets.GITHUB_TOKEN }}
30+
version: "latest" # or pin to a specific version like "v0.8.0"
31+
32+
- name: Install system deps
33+
run: |
34+
sudo apt-get update
35+
sudo apt-get install -y qemu-system-x86 ovmf tree jq systemd-ukify mmdebstrap systemd-boot
36+
37+
- name: Set up Go
38+
uses: actions/setup-go@v5
39+
with:
40+
go-version: stable # or a pinned version you know exists
41+
42+
- name: Copy tester script
43+
run: |
44+
if [ ! -f validate.sh ]; then
45+
echo "validate.sh not found!"
46+
exit 1
47+
fi
48+
chmod +x validate.sh
49+
50+
- name: Run build-tester
51+
run: |
52+
echo "Starting validate.sh..."
53+
# Ensure script has access to docker group for Earthly
54+
sudo usermod -aG docker $USER
55+
# Run the validation script
56+
./validate.sh --qemu-test
57+
echo "Build and tests completed."

0 commit comments

Comments
 (0)