fix #1929
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI Windows | |
on: | |
push: | |
paths-ignore: | |
- '**.md' | |
- '**.yml' | |
- '!**.bat' | |
- '!**/windows_ci.yml' | |
- 'cmd/tools/**' | |
- '!cmd/tools/builders/**.v' | |
pull_request: | |
paths-ignore: | |
- '**.md' | |
- '**.yml' | |
- '!**.bat' | |
- '!**/windows_ci.yml' | |
- '!**/windows-install-sqlite.bat' | |
- 'cmd/tools/**' | |
- '!cmd/tools/builders/**.v' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.sha || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
gcc: | |
runs-on: windows-2019 | |
timeout-minutes: 271 | |
env: | |
VFLAGS: -cc gcc | |
VERBOSE_MAKE: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build | |
run: | | |
gcc --version | |
.\make.bat -gcc | |
.\v.exe symlink | |
- name: All code is formatted | |
run: v test-cleancode | |
- name: Test new v.c | |
run: | | |
v -o v.c cmd/v | |
gcc -Werror -municode -w v.c -lws2_32 | |
- name: Install dependencies | |
run: | | |
v retry -- v setup-freetype | |
.\.github\workflows\windows-install-sqlite.bat | |
- name: v doctor | |
run: | | |
v doctor | |
- name: Verify `v test` works | |
run: | | |
echo $VFLAGS | |
v cmd/tools/test_if_v_test_system_works.v | |
./cmd/tools/test_if_v_test_system_works | |
- name: Test pure V math module | |
run: v -exclude @vlib/math/*.c.v test vlib/math/ | |
- name: Self tests | |
run: v test-self vlib | |
# - name: Test | |
# run: v test-all | |
- name: Build option_test.c.v with -autofree | |
run: v -autofree vlib/v/tests/options/option_test.c.v | |
- name: Test v->js | |
run: v -o hi.js examples/js_hello_world.v && node hi.js | |
- name: Test v binaries | |
run: v build-vbinaries | |
- name: Build examples | |
run: v build-examples | |
- name: v2 self compilation | |
run: v -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v | |
- name: compile vdoctor.v with -skip-unused and -prod | |
run: v -showcc -skip-unused -prod cmd/tools/vdoctor.v | |
- name: compile vup.v with -skip-unused and -prod | |
run: v -showcc -skip-unused -prod cmd/tools/vup.v | |
- name: Test vlib modules with -skip-unused | |
run: v -skip-unused test vlib/builtin/ vlib/math vlib/flag/ vlib/os/ vlib/strconv/ | |
msvc: | |
runs-on: windows-2019 | |
timeout-minutes: 271 | |
env: | |
VFLAGS: -cc msvc | |
VERBOSE_MAKE: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build | |
run: | | |
echo %VFLAGS% | |
echo $VFLAGS | |
.\make.bat -msvc | |
.\v.exe symlink | |
- name: Build V with WX | |
run: v -cflags /WX self | |
- name: All code is formatted | |
run: v test-cleancode | |
- name: Test -cc msvc -gc boehm works | |
run: v -no-retry-compilation -gc boehm run examples/hello_world.v | |
- name: Install dependencies | |
run: | | |
v retry -- v setup-freetype | |
.\.github\workflows\windows-install-sqlite.bat | |
- name: v doctor | |
run: | | |
v doctor | |
- name: Verify `v test` works | |
run: | | |
echo $VFLAGS | |
v cmd/tools/test_if_v_test_system_works.v | |
./cmd/tools/test_if_v_test_system_works | |
- name: Test pure V math module | |
run: v -exclude @vlib/math/*.c.v test vlib/math/ | |
- name: Self tests | |
run: | | |
v -cg cmd\tools\vtest-self.v | |
v test-self vlib | |
# - name: Test | |
# run: v test-all | |
- name: Test v->js | |
run: v -o hi.js examples/js_hello_world.v && node hi.js | |
- name: Test v binaries | |
run: v build-vbinaries | |
- name: Build examples | |
run: v build-examples | |
- name: v2 self compilation | |
run: v -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v | |
- name: Test vlib modules with -skip-unused | |
run: v -skip-unused test vlib/builtin/ vlib/math vlib/flag/ vlib/os/ vlib/strconv/ | |
tcc: | |
runs-on: windows-2019 | |
timeout-minutes: 181 | |
env: | |
VFLAGS: -cc tcc -no-retry-compilation | |
VJOBS: 1 | |
VTEST_SHOW_START: 1 | |
VERBOSE_MAKE: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build with make.bat -tcc | |
run: | | |
.\make.bat -tcc | |
.\v.exe symlink | |
- name: All code is formatted | |
run: v test-cleancode | |
- name: Test new v.c | |
run: | | |
v -o v.c cmd/v | |
.\thirdparty\tcc\tcc.exe -Werror -w -ladvapi32 -lws2_32 -bt10 v.c | |
- name: Install dependencies | |
run: | | |
v retry -- v setup-freetype | |
.\.github\workflows\windows-install-sqlite.bat | |
- name: v doctor | |
run: | | |
v doctor | |
- name: Verify `v test` works | |
run: | | |
v cmd/tools/test_if_v_test_system_works.v | |
.\cmd\tools\test_if_v_test_system_works.exe | |
- name: Verify `v vlib/v/gen/c/coutput_test.v` works | |
run: v vlib/v/gen/c/coutput_test.v | |
- name: Make sure running TCC64 instead of TCC32 | |
run: v test .github\workflows\make_sure_ci_run_with_64bit_compiler_test.v | |
- name: Test ./v doc -v clipboard *BEFORE building tools* | |
run: v doc -v clipboard | |
- name: Test v build-tools | |
run: v -W build-tools | |
- name: Test pure V math module | |
run: v -exclude @vlib/math/*.c.v test vlib/math/ | |
- name: Self tests | |
run: v test-self vlib | |
- name: Test v->js | |
run: v -o hi.js examples/js_hello_world.v && node hi.js | |
- name: Test v binaries | |
run: v build-vbinaries | |
- name: Build examples | |
run: v build-examples | |
- name: v2 self compilation | |
run: v -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v && .\v3.exe -o v4.exe cmd/v | |
- name: v2 self compilation with -gc boehm | |
run: v -o v2.exe -gc boehm cmd/v && .\v2.exe -o v3.exe -gc boehm cmd/v && .\v3.exe -o v4.exe -gc boehm cmd/v | |
- name: Test vlib modules with -skip-unused | |
run: v -skip-unused test vlib/builtin/ vlib/math vlib/flag/ vlib/os/ vlib/strconv/ | |
## tcc32 | |
# - name: Build with make.bat -tcc32 | |
# run: | | |
# Remove-Item -Recurse -Force .\thirdparty\tcc | |
# v wipe-cache | |
# .\make.bat -tcc32 | |
# - name: Test new v.c | |
# run: v -o v.c cmd/v && .\thirdparty\tcc\tcc.exe -Werror -g -w -ladvapi32 -lws2_32 -bt10 v.c | |
# - name: v doctor | |
# run: v doctor | |
# | |
# - name: Verify `v test` works | |
# run: | | |
# v cmd/tools/test_if_v_test_system_works.v | |
# .\cmd\tools\test_if_v_test_system_works.exe | |
# | |
# - name: Verify `v vlib/v/gen/c/coutput_test.v` works | |
# run: | | |
# v vlib/v/gen/c/coutput_test.v | |
# | |
# - name: Make sure running TCC32 instead of TCC64 | |
# run: v -stats .github\workflows\make_sure_ci_run_with_32bit_compiler_test.v | |
# | |
# - name: Test v build-tools | |
# run: v -W build-tools | |
# | |
# - name: Test ./v doc clipboard | |
# run: v doc clipboard | |
# | |
# - name: Self tests | |
# run: v test-self vlib | |
# - name: Test v->js | |
# run: v -o hi.js examples/js_hello_world.v && node hi.js | |
# - name: Test v binaries | |
# run: v build-vbinaries | |
# - name: Build examples | |
# run: v build-examples | |
# - name: v2 self compilation | |
# run: v -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v |