forked from vlang/v
-
Notifications
You must be signed in to change notification settings - Fork 0
54 lines (44 loc) · 1.68 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
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 meson -y
- name: Clone current Vinix
run: ./v retry -- git clone 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: cd vinix/kernel && make PROD=false KCFLAGS="-D__vinix__ -O2 -g -pipe" KV="../../v" && make clean
- name: Attempt to build the Vinix kernel (prod)
run: cd vinix/kernel && make PROD=true KCFLAGS="-D__vinix__ -O2 -g -pipe" KV="../../v" && make clean
- name: Attempt to build the util-vinix (debug)
run: cd vinix/util-vinix && make PROD=false V="$(realpath ../../v)" VFLAGS="-os vinix -gc none" KCFLAGS="-D__vinix__ -O2 -g -pipe" && make clean
- name: Attempt to build the util-vinix (prod)
run: cd vinix/util-vinix && make PROD=true V="$(realpath ../../v)" VFLAGS="-os vinix -gc none" KCFLAGS="-D__vinix__ -O2 -g -pipe" && make clean