-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
80 lines (70 loc) · 2.19 KB
/
vinix_ci.yml
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
name: Build Vinix
on:
workflow_call:
pull_request:
paths-ignore:
- '**.md'
- '**.yml'
- '!**/vinix_ci.yml'
- 'cmd/tools/vrepl.v'
push:
branches:
- master
paths-ignore:
- '**.md'
- '**.yml'
- '!**/vinix_ci.yml'
- 'cmd/tools/vrepl.v'
concurrency:
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.sha || github.ref }}
cancel-in-progress: true
jobs:
vinix-build:
runs-on: ubuntu-20.04
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- name: Build V
run: make -j4 && ./v symlink
- name: Install dependencies
run: |
./v retry -- sudo apt update
./v retry -- sudo apt install build-essential -y
- name: Clone current Vinix
run: ./v retry -- git clone --depth=1 https://github.com/vlang/vinix.git
- name: Download Vinix kernel dependencies
run: cd vinix/kernel && ./get-deps
- name: Attempt to build the Vinix kernel (debug)
run: |
set -e
cd vinix/kernel
make PROD=false \
CFLAGS="-Ulinux -U__linux -U__linux__ -U__gnu_linux__ -D__vinix__ -O2 -g -pipe" \
V="$(realpath ../../v)"
make clean
- name: Attempt to build the Vinix kernel (prod)
run: |
set -e
cd vinix/kernel
make PROD=true \
CFLAGS="-Ulinux -U__linux -U__linux__ -U__gnu_linux__ -D__vinix__ -O2 -g -pipe" \
V="$(realpath ../../v)"
make clean
- name: Attempt to build the util-vinix (debug)
run: |
set -e
cd vinix/util-vinix
make PROD=false \
VFLAGS="-os vinix -gc none" \
CFLAGS="-Ulinux -U__linux -U__linux__ -U__gnu_linux__ -D__vinix__ -O2 -g -pipe" \
V="$(realpath ../../v)"
make clean
- name: Attempt to build the util-vinix (prod)
run: |
set -e
cd vinix/util-vinix
make PROD=true \
VFLAGS="-os vinix -gc none" \
CFLAGS="-Ulinux -U__linux -U__linux__ -U__gnu_linux__ -D__vinix__ -O2 -g -pipe" \
V="$(realpath ../../v)"
make clean