Skip to content

fix

fix #1929

Workflow file for this run

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