ci: extract bootstrapping tests into their own .yml file
							parent
							
								
									85c38bac34
								
							
						
					
					
						commit
						a03693e881
					
				| 
						 | 
					@ -188,30 +188,6 @@ jobs:
 | 
				
			||||||
      - name: Build v
 | 
					      - name: Build v
 | 
				
			||||||
        run: make
 | 
					        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
 | 
					      - 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
 | 
					        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
 | 
					          ./v cmd/tools/test_if_v_test_system_works.v
 | 
				
			||||||
          ./cmd/tools/test_if_v_test_system_works
 | 
					          ./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
 | 
					      - name: Self tests
 | 
				
			||||||
        run: VJOBS=1 ./v -silent test-self
 | 
					        run: VJOBS=1 ./v -silent test-self
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
		Loading…
	
		Reference in New Issue