Bootstrapping works #973
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Bootstraping works | |
on: | |
schedule: | |
- cron: '0 */6 * * *' | |
jobs: | |
ubuntu: | |
runs-on: ubuntu-latest | |
if: github.event.ref == 'refs/heads/master' && github.event.repository.full_name == 'vlang/v' | |
timeout-minutes: 30 | |
env: | |
VFLAGS: -cc tcc -no-retry-compilation | |
B_CFLAGS: -g -std=c99 -w | |
B_LFLAGS: -lm -lpthread | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 10 | |
- 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-latest | |
if: github.event.ref == 'refs/heads/master' && github.event.repository.full_name == 'vlang/v' | |
timeout-minutes: 30 | |
env: | |
VFLAGS: -cc clang | |
B_CFLAGS: -g -std=c99 -w | |
B_LFLAGS: -lm -lpthread | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 10 | |
- 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 |