v2 / .github / workflows / windows_ci_tcc.yml
81 lines · 78 sloc · 2.6 KB · 7ca2811f3a435ab4bcef463a1fcb7ac9df8eb550
Raw
1name: CI Windows TCC
2
3on:
4 push:
5 paths-ignore:
6 - '**.md'
7 - '**.yml'
8 - '!**.bat'
9 - '!**/windows_ci_tcc.yml'
10 - 'cmd/tools/**'
11 - '!cmd/tools/builders/**.v'
12 pull_request:
13 paths-ignore:
14 - '**.md'
15 - '**.yml'
16 - '!**.bat'
17 - '!**/windows_ci_tcc.yml'
18 - '!**/windows-install-sqlite.bat'
19 - 'cmd/tools/**'
20 - '!cmd/tools/builders/**.v'
21
22concurrency:
23 group: windows-${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.sha || github.ref }}
24 cancel-in-progress: true
25
26jobs:
27 tcc-windows:
28 runs-on: windows-2022
29 timeout-minutes: 60
30 env:
31 VFLAGS: -cc tcc -no-retry-compilation
32 VTEST_SHOW_LONGEST_BY_RUNTIME: 3
33 VTEST_SHOW_LONGEST_BY_COMPTIME: 3
34 VTEST_SHOW_LONGEST_BY_TOTALTIME: 3
35 steps:
36 - uses: actions/checkout@v6
37 - name: Build with makev.bat -tcc
38 run: |
39 .\makev.bat -tcc
40 .\v.exe symlink
41 - name: All code is formatted
42 run: v -silent test-cleancode
43 - name: Test new v.c
44 run: |
45 v -o v.c cmd/v
46 # Match makev.bat's Windows stack reserve; the direct TCC-built
47 # compiler can otherwise crash while compiling net.http-heavy scripts.
48 .\thirdparty\tcc\tcc.exe -Werror -w -ladvapi32 -lws2_32 -bt10 '-Wl,-stack=33554432' v.c
49 - name: Install dependencies
50 run: |
51 v retry -- v setup-freetype
52 .\.github\workflows\windows-install-sqlite.bat
53 - name: v -g self
54 run: v -g self
55 - name: v doctor
56 run: |
57 v doctor
58 - name: Verify `v test` works
59 run: |
60 v cmd/tools/test_if_v_test_system_works.v
61 .\cmd\tools\test_if_v_test_system_works.exe
62 - name: Verify `v vlib/v/gen/c/coutput_test.v` works
63 run: v vlib/v/gen/c/coutput_test.v
64 - name: Make sure running TCC64 instead of TCC32
65 run: v test .github\workflows\make_sure_ci_run_with_64bit_compiler_test.v
66 - name: Test ./v doc -v clipboard *BEFORE building tools*
67 run: v doc -v clipboard
68 - name: Test v build-tools
69 run: v -silent -W build-tools
70 - name: Test pure V math module
71 run: v -silent -exclude @vlib/math/*.c.v test vlib/math/
72 - name: Self tests
73 run: v -silent test-self vlib
74 - name: Test v->js
75 run: v -o hi.js examples/js_hello_world.v && node hi.js
76 - name: Test v binaries
77 run: v build-vbinaries
78 - name: Build examples
79 run: v build-examples
80 - name: v2 self compilation
81 run: v -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v && .\v3.exe -o v4.exe cmd/v
82