-
Notifications
You must be signed in to change notification settings - Fork 0
52 lines (52 loc) · 1.92 KB
/
function-ext4.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
name: "Function: ext4"
on:
push:
branches:
- "mistress"
paths:
- "**.rs"
- "**.yaml"
- "**.toml"
pull_request:
branches:
- "mistress"
paths:
- "**.rs"
- "**.yaml"
- "**.toml"
jobs:
function-ext4:
runs-on: "ubuntu-latest"
steps:
- uses: "actions/checkout@v2"
- name: "Install latest stable Rust"
uses: "actions-rs/toolchain@v1"
with:
toolchain: "stable"
profile: "minimal"
override: true
target: "x86_64-unknown-linux-musl"
- uses: "Swatinem/rust-cache@v2"
with:
key: "ext4-functionality"
cache-on-failure: true
- name: "Install musl-tools"
run: "sudo apt-get update && sudo apt-get install -y musl-tools comerr-dev wget"
- name: "Build release binary!"
uses: "actions-rs/cargo@v1"
with:
command: "build"
args: "--release --target=x86_64-unknown-linux-musl"
- name: "Run release binary"
run: "pwd && ls -lah && env RUST_LOG=debug ./target/x86_64-unknown-linux-musl/release/peckish -c ./configs/ci/peckish.ext4.yaml"
- name: "Validate ext4 creation"
run: "ls -lah ./out/ci"
- name: "Validate ext4 filesystem"
run: "sudo apt-get update && sudo apt-get install -y e2fsprogs && e2fsck -fvn ./out/ci/hello-world.ext4"
# - name: "Validate ext4 fs boots"
# run: |
# ARCH="$(uname -m)"
# mkdir -pv ./out/ci
# wget https://s3.amazonaws.com/spec.ccfc.min/img/quickstart_guide/${ARCH}/kernels/vmlinux.bin -O ./out/ci/vmlinux.bin
# wget -q https://github.com/firecracker-microvm/firecracker/releases/download/v1.3.3/firecracker-v1.3.3-x86_64.tgz -O- | gzip -d | tar xvf - | grep firecracker | grep "x86_64\$" | xargs --replace="REPL" mv -v REPL ./firecracker
# ./firecracker --no-api --config-file ./configs/ci/firecracker/vm_config.json