v / .github / workflows / windows_ci_gcc.yml
105 lines · 102 sloc · 3.31 KB · 3556b01fc7b7ef7d578fd9967021df8ce7ec45fe
Raw
1name: CI Windows GCC
2
3on:
4 push:
5 branches:
6 - master
7 paths-ignore:
8 - '**.md'
9 - '**.yml'
10 - '!**.bat'
11 - '!**/windows_ci_gcc.yml'
12 - 'cmd/tools/**'
13 - '!cmd/tools/builders/**.v'
14 pull_request:
15 paths-ignore:
16 - '**.md'
17 - '**.yml'
18 - '!**.bat'
19 - '!**/windows_ci_gcc.yml'
20 - '!**/windows-install-sqlite.bat'
21 - 'cmd/tools/**'
22 - '!cmd/tools/builders/**.v'
23
24concurrency:
25 group: windows-${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.sha || github.ref }}
26 cancel-in-progress: true
27
28jobs:
29 gcc-windows:
30 runs-on: windows-2025
31 timeout-minutes: 110
32 env:
33 VFLAGS: -cc gcc
34 VTEST_SHOW_LONGEST_BY_RUNTIME: 3
35 VTEST_SHOW_LONGEST_BY_COMPTIME: 3
36 VTEST_SHOW_LONGEST_BY_TOTALTIME: 3
37 steps:
38 - uses: actions/checkout@v6
39 - name: Show tool versions
40 run: |
41 gcc --version
42 pkg-config --version
43 openssl version
44 echo "Flags for openssl:"
45 pkg-config openssl --cflags
46 echo "Flags for openssl libs:"
47 pkg-config openssl --libs
48 .github/workflows/find_openssl.bat
49 echo "OpenSSL files:"
50 where.exe /R "C:\Program Files\OpenSSL" *.*
51 echo "Include files for openssl:"
52 dir "c:/Program Files/OpenSSL/include"
53 echo "Lib Include files for openssl:"
54 dir "c:/Program Files/OpenSSL/lib/VC/x64/"
55 - name: Build
56 run: |
57 .\makev.bat -gcc
58 .\v.exe symlink
59 .\v.exe -stats vlib/crypto/ecdsa/ecdsa_test.v
60 - name: Test v binaries
61 run: v build-vbinaries
62 - name: All code is formatted
63 run: v -silent test-cleancode
64 - name: Test new v.c
65 run: |
66 v -o v.c cmd/v
67 $direct_c_flags = @(
68 '-Ithirdparty/zip'
69 '-Ithirdparty/cJSON'
70 '-Ithirdparty/mbedtls/library'
71 '-Ithirdparty/mbedtls/include'
72 '-Ithirdparty/mbedtls/3rdparty/everest/include'
73 '-Ithirdparty/mbedtls/3rdparty/everest/include/everest'
74 '-Ithirdparty/mbedtls/3rdparty/everest/include/everest/kremlib'
75 '-Ithirdparty/vschannel'
76 )
77 gcc -Werror -municode -w @direct_c_flags v.c -lws2_32 -std=c99
78 - name: Install dependencies
79 run: |
80 v retry -- v setup-freetype
81 .\.github\workflows\windows-install-sqlite.bat
82 - name: v doctor
83 run: |
84 v doctor
85 - name: Verify `v test` works
86 run: |
87 echo $VFLAGS
88 v cmd/tools/test_if_v_test_system_works.v
89 ./cmd/tools/test_if_v_test_system_works
90 - name: Test pure V math module
91 run: v -silent -exclude @vlib/math/*.c.v test vlib/math/
92 - name: Self tests
93 run: v -silent test-self vlib
94 - name: Build option_test.c.v with -autofree
95 run: v -autofree vlib/v/tests/options/option_test.c.v
96 - name: Test v->js
97 run: v -o hi.js examples/js_hello_world.v && node hi.js
98 - name: Build examples
99 run: v build-examples
100 - name: v2 self compilation
101 run: v -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v
102 - name: compile vdoctor.v with -prod
103 run: v -showcc -prod cmd/tools/vdoctor.v
104 - name: compile vup.v with -prod
105 run: v -showcc -prod cmd/tools/vup.v
106