name: Bootstraping works on: push: paths-ignore: - "**.md" pull_request: paths-ignore: - "**.md" jobs: ubuntu: runs-on: ubuntu-20.04 timeout-minutes: 30 env: VFLAGS: -cc tcc -no-retry-compilation B_CFLAGS: -g -std=gnu11 -w B_LFLAGS: -lm -lpthread steps: - uses: actions/checkout@v2 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-11 timeout-minutes: 30 env: VFLAGS: -cc clang B_CFLAGS: -g -std=gnu11 -w B_LFLAGS: -lm -lpthread steps: - uses: actions/checkout@v2 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