ci: extract bootstrapping tests into their own .yml file

pull/12000/head
Delyan Angelov 2021-09-28 17:26:40 +03:00
parent 85c38bac34
commit a03693e881
No known key found for this signature in database
GPG Key ID: 66886C0F12D595ED
2 changed files with 77 additions and 38 deletions

View File

@ -188,30 +188,6 @@ jobs:
- name: Build v
run: make
- name: v.c can be compiled and run with -os cross (bootstrapping works)
run: |
ls -la v vc/v.c
./v -os cross -o vc/v.c cmd/v
gcc -g -std=gnu11 -I ./thirdparty/stdatomic/nix -w -o v_from_vc vc/v.c -lm -lpthread
ls -lart v_from_vc
./v_from_vc version
./v_from_vc run examples/hello_world.v
./v_from_vc -o v_from_vc_produced_native_v cmd/v
./v_from_vc_produced_native_v run examples/hello_world.v
make local=1
ls -la v vc/v.c v_from_vc v_from_vc_produced_native_v
- name: Ensure v up works
run: |
./v cmd/tools/oldv.v
./cmd/tools/oldv -v HEAD^^^^^
cd ~/.cache/oldv/v_at_HEAD_____/
./v version
./v -v up
./v version
./v -o v2 cmd/v
./v2 -o v3 cmd/v
- name: Ensure V can be compiled with -autofree
run: ./v -autofree -o v2 cmd/v ## NB: this does not mean it runs, but at least keeps it from regressing
@ -328,20 +304,6 @@ jobs:
./v cmd/tools/test_if_v_test_system_works.v
./cmd/tools/test_if_v_test_system_works
- name: v.c can be compiled and run with -os cross (bootstrapping works)
run: |
ls -la v vc/v.c
./v -os cross -o vc/v.c cmd/v
cc -g -std=gnu11 -I ./thirdparty/stdatomic/nix -w -o v_from_vc vc/v.c -lm -lpthread
ls -lart v_from_vc
./v_from_vc version
./v_from_vc run examples/hello_world.v
./v_from_vc -o v_from_vc_produced_native_v cmd/v
./v_from_vc_produced_native_v run examples/hello_world.v
### the next make invocation will simulate building V from scratch
make local=1
ls -la v vc/v.c v_from_vc v_from_vc_produced_native_v
- name: Self tests
run: VJOBS=1 ./v -silent test-self

View File

@ -0,0 +1,77 @@
name: Bootstraping works
on:
push:
paths-ignore:
- "**.md"
pull_request:
paths-ignore:
- "**.md"
jobs:
ubuntu:
runs-on: ubuntu-20.04
timeout-minutes: 15
env:
VFLAGS: -cc tcc -no-retry-compilation
B_CFLAGS: -g -std=gnu11 -I ./thirdparty/stdatomic/nix -w
B_LFLAGS: -lm -lpthread
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 5
- name: Build v
run: make
- name: v.c can be compiled and run with -os cross (bootstrapping works)
run: |
ls -la v vc/v.c
./v -os cross -o vc/v.c cmd/v
gcc $B_CFLAGS -o v_from_vc vc/v.c $B_LFLAGS
ls -lart v_from_vc
./v_from_vc version
./v_from_vc run examples/hello_world.v
./v_from_vc -o v_from_vc_produced_native_v cmd/v
./v_from_vc_produced_native_v run examples/hello_world.v
make local=1
ls -la v vc/v.c v_from_vc v_from_vc_produced_native_v
- name: Ensure v up works
run: |
./v cmd/tools/oldv.v
./cmd/tools/oldv -v HEAD^^^^^
cd ~/.cache/oldv/v_at_HEAD_____/
./v version
./v -v up
./v version
./v -o v2 cmd/v
./v2 -o v3 cmd/v
macos:
runs-on: macos-11
timeout-minutes: 15
env:
VFLAGS: -cc clang
B_CFLAGS: -g -std=gnu11 -I ./thirdparty/stdatomic/nix -w
B_LFLAGS: -lm -lpthread
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 5
- name: Build V
run: make && ./v -cg -cstrict -o v cmd/v
- name: v.c can be compiled and run with -os cross (bootstrapping works)
run: |
ls -la v vc/v.c
./v -os cross -o vc/v.c cmd/v
cc $B_CFLAGS -o v_from_vc vc/v.c $B_LFLAGS
ls -lart v_from_vc
./v_from_vc version
./v_from_vc run examples/hello_world.v
./v_from_vc -o v_from_vc_produced_native_v cmd/v
./v_from_vc_produced_native_v run examples/hello_world.v
### the next make invocation will simulate building V from scratch,
### using this commit
make local=1
ls -la v vc/v.c v_from_vc v_from_vc_produced_native_v