Skip to content

Commit 3ec47bb

Browse files
committed
.github/workflows: refactor the actions
Signed-off-by: Rares-Stefan Goidescu <[email protected]>
1 parent 189c5c4 commit 3ec47bb

File tree

8 files changed

+67
-42
lines changed

8 files changed

+67
-42
lines changed

.github/scripts/generate-test-result.sh

Whitespace-only changes.

.github/scripts/run-tests.sh

Whitespace-only changes.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/usr/bin/env bash
2+
3+
./setup.sh
4+
cd $1
5+
git fetch -fu "https://github.com/$2" "refs/pull/$3/head:pr-branch"
6+
git checkout pr-branch
7+
cd -
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
5+
sudo apt -y update
6+
sudo apt install -y --no-install-recommends \
7+
build-essential \
8+
sudo \
9+
gcc-aarch64-linux-gnu \
10+
g++-aarch64-linux-gnu \
11+
libncurses-dev \
12+
libyaml-dev \
13+
flex \
14+
bison \
15+
git \
16+
wget \
17+
curl \
18+
uuid-runtime \
19+
qemu-kvm \
20+
qemu-system-x86 \
21+
qemu-system-arm \
22+
sgabios \
23+
libarchive-tools \
24+
clang \
25+
xen-utils \
26+
redis-tools
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
5+
# Enable Docker BuildKit
6+
echo "DOCKER_BUILDKIT=1" >> $GITHUB_ENV
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/usr/bin/env bash
2+
3+
release_url="https://github.com/firecracker-microvm/firecracker/releases"
4+
latest=v1.7.0
5+
curl -L ${release_url}/download/${latest}/firecracker-${latest}-$(uname -m).tgz | tar -xz
6+
sudo cp release-${latest}-$(uname -m)/firecracker-${latest}-$(uname -m) /usr/local/bin/firecracker-${latest}-$(uname -m)
7+
sudo ln -sfn /usr/local/bin/firecracker-${latest}-$(uname -m) /usr/local/bin/firecracker-$(uname -m)
8+
sudo usermod -a -G kvm $USER
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/usr/bin/env bash
2+
3+
test -d /etc/qemu || sudo mkdir -p /etc/qemu
4+
echo "allow all" | sudo tee /etc/qemu/bridge.conf

.github/workflows/test-all.yml

Lines changed: 16 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -54,58 +54,32 @@ jobs:
5454
with:
5555
ref: test
5656

57-
- name: Set up Docker Buildx
57+
- name: Pull .github scripts from main
58+
uses: actions/checkout@v4
59+
with:
60+
ref: main
61+
sparse-checkout: |
62+
.github/scripts
63+
sparse-checkout-cone-mode: false
64+
65+
- name: Setup Docker Buildx
5866
uses: docker/setup-buildx-action@v3
59-
- name: Enable Docker BuildKit
60-
run: echo "DOCKER_BUILDKIT=1" >> $GITHUB_ENV
67+
68+
- name: Enable Docker Buildkit
69+
run: bash .github/scripts/setup/docker-setup.sh
6170

6271
- name: Install base dependencies
63-
run: |
64-
sudo apt -y update
65-
sudo apt install -y --no-install-recommends \
66-
build-essential \
67-
sudo \
68-
gcc-aarch64-linux-gnu \
69-
g++-aarch64-linux-gnu \
70-
libncurses-dev \
71-
libyaml-dev \
72-
flex \
73-
bison \
74-
git \
75-
wget \
76-
curl \
77-
uuid-runtime \
78-
qemu-kvm \
79-
qemu-system-x86 \
80-
qemu-system-arm \
81-
sgabios \
82-
libarchive-tools \
83-
clang \
84-
xen-utils \
85-
redis-tools
72+
run: bash .github/scripts/setup/base-dependencies.sh
8673

8774
- name: Setup QEMU networking
88-
run: |
89-
test -d /etc/qemu || sudo mkdir -p /etc/qemu
90-
echo "allow all" | sudo tee /etc/qemu/bridge.conf
75+
run: bash .github/scripts/setup/qemu-setup.sh
9176

9277
- name: Install Firecracker
93-
run: |
94-
release_url="https://github.com/firecracker-microvm/firecracker/releases"
95-
latest=v1.7.0
96-
curl -L ${release_url}/download/${latest}/firecracker-${latest}-$(uname -m).tgz | tar -xz
97-
sudo cp release-${latest}-$(uname -m)/firecracker-${latest}-$(uname -m) /usr/local/bin/firecracker-${latest}-$(uname -m)
98-
sudo ln -sfn /usr/local/bin/firecracker-${latest}-$(uname -m) /usr/local/bin/firecracker-$(uname -m)
99-
sudo usermod -a -G kvm $USER
78+
run: bash .github/scripts/setup/firecracker-setup.sh
10079

10180
- name: Checkout Unikraft PR Branch
10281
if: github.event_name == 'repository_dispatch'
103-
run: |
104-
./setup.sh
105-
cd repos/unikraft
106-
git fetch -fu "https://github.com/${{ github.event.client_payload.pr_repo }}" "refs/pull/${{ github.event.client_payload.pr_number }}/head:pr-branch"
107-
git checkout pr-branch
108-
cd -
82+
run: bash ./.github/scripts/setup-repository.sh /repos/unikraft "${{ github.event.client_payload.pr_repo }}" "${{ github.event.client_payload.pr_number }}"
10983

11084
- name: Run tests
11185
id: run-tests

0 commit comments

Comments
 (0)