v2 / .github / workflows / windows_ci_gcc.yml
93 lines · 90 sloc · 2.84 KB · d444f9c25dea51ee70d1a8ec896b34484370e791
Raw
1name: CI Windows GCC
2
3on:
4 push:
5 paths-ignore:
6 - '**.md'
7 - '**.yml'
8 - '!**.bat'
9 - '!**/windows_ci_gcc.yml'
10 - 'cmd/tools/**'
11 - '!cmd/tools/builders/**.v'
12 pull_request:
13 paths-ignore:
14 - '**.md'
15 - '**.yml'
16 - '!**.bat'
17 - '!**/windows_ci_gcc.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 gcc-windows:
28 runs-on: windows-2025
29 timeout-minutes: 110
30 env:
31 VFLAGS: -cc gcc
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: Show tool versions
38 run: |
39 gcc --version
40 pkg-config --version
41 openssl version
42 echo "Flags for openssl:"
43 pkg-config openssl --cflags
44 echo "Flags for openssl libs:"
45 pkg-config openssl --libs
46 .github/workflows/find_openssl.bat
47 echo "OpenSSL files:"
48 where.exe /R "C:\Program Files\OpenSSL" *.*
49 echo "Include files for openssl:"
50 dir "c:/Program Files/OpenSSL/include"
51 echo "Lib Include files for openssl:"
52 dir "c:/Program Files/OpenSSL/lib/VC/x64/"
53 - name: Build
54 run: |
55 .\makev.bat -gcc
56 .\v.exe symlink
57 .\v.exe -stats vlib/crypto/ecdsa/ecdsa_test.v
58 - name: Test v binaries
59 run: v build-vbinaries
60 - name: All code is formatted
61 run: v -silent test-cleancode
62 - name: Test new v.c
63 run: |
64 v -o v.c cmd/v
65 gcc -Werror -municode -w v.c -lws2_32 -std=c99
66 - name: Install dependencies
67 run: |
68 v retry -- v setup-freetype
69 .\.github\workflows\windows-install-sqlite.bat
70 - name: v doctor
71 run: |
72 v doctor
73 - name: Verify `v test` works
74 run: |
75 echo $VFLAGS
76 v cmd/tools/test_if_v_test_system_works.v
77 ./cmd/tools/test_if_v_test_system_works
78 - name: Test pure V math module
79 run: v -silent -exclude @vlib/math/*.c.v test vlib/math/
80 - name: Self tests
81 run: v -silent test-self vlib
82 - name: Build option_test.c.v with -autofree
83 run: v -autofree vlib/v/tests/options/option_test.c.v
84 - name: Test v->js
85 run: v -o hi.js examples/js_hello_world.v && node hi.js
86 - name: Build examples
87 run: v build-examples
88 - name: v2 self compilation
89 run: v -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v
90 - name: compile vdoctor.v with -prod
91 run: v -showcc -prod cmd/tools/vdoctor.v
92 - name: compile vup.v with -prod
93 run: v -showcc -prod cmd/tools/vup.v
94