ci: use v instead of ./v in the platform linux/macos/windows/_ci.yml files (#21454)

This commit is contained in:
Delyan Angelov 2024-05-07 21:33:23 +03:00 committed by GitHub
parent 6cc096a4b3
commit 279405a36e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 205 additions and 199 deletions

View file

@ -29,83 +29,83 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Build v - name: Build v
run: make -j4 && ./v symlink -githubci
- name: Build v with -prealloc
run: | run: |
echo $VFLAGS v -d debug_malloc -d debug_realloc -o v cmd/v
make -j4 && ./v symlink -githubci v -cg -cstrict -o v cmd/v
./v -d debug_malloc -d debug_realloc -o v cmd/v
./v -cg -cstrict -o v cmd/v
# Test v -realloc arena allocation # Test v -realloc arena allocation
./v -o vrealloc -prealloc cmd/v && ./vrealloc -o v3 cmd/v && ./v3 -o v4 cmd/v v -o vrealloc -prealloc cmd/v && ./vrealloc -o v3 cmd/v && ./v3 -o v4 cmd/v
- name: All code is formatted - name: All code is formatted
run: ./v test-cleancode run: v test-cleancode
- name: Install dependencies for examples and tools - name: Install dependencies for examples and tools
run: | run: |
./v retry -- sudo apt update v retry -- sudo apt update
./v retry -- sudo apt install --quiet -y libssl-dev sqlite3 libsqlite3-dev valgrind v retry -- sudo apt install --quiet -y libssl-dev sqlite3 libsqlite3-dev valgrind
./v retry -- sudo apt install --quiet -y libfreetype6-dev libxi-dev libxcursor-dev libgl-dev v retry -- sudo apt install --quiet -y libfreetype6-dev libxi-dev libxcursor-dev libgl-dev
# The following is needed for examples/wkhtmltopdf.v # The following is needed for examples/wkhtmltopdf.v
./v retry -- wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb v retry -- wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb
./v retry -- sudo apt install --quiet -y xfonts-75dpi xfonts-base v retry -- sudo apt install --quiet -y xfonts-75dpi xfonts-base
./v retry -- sudo apt install --quiet -y expect v retry -- sudo apt install --quiet -y expect
./v retry -- sudo dpkg -i wkhtmltox_0.12.6-1.focal_amd64.deb v retry -- sudo dpkg -i wkhtmltox_0.12.6-1.focal_amd64.deb
- name: Test v->c - name: Test v->c
run: | run: |
thirdparty/tcc/tcc.exe -version thirdparty/tcc/tcc.exe -version
./v -cg -o v cmd/v # Make sure vtcc can build itself twice v -cg -o v cmd/v # Make sure vtcc can build itself twice
# ./v test-all # v test-all
- name: v self compilation - name: v self compilation
run: ./v -o v2 cmd/v && ./v2 -o v3 cmd/v && ./v3 -o v4 cmd/v run: v -o v2 cmd/v && ./v2 -o v3 cmd/v && ./v3 -o v4 cmd/v
- name: v self compilation with -skip-unused - name: v self compilation with -skip-unused
run: ./v -skip-unused -o v2 cmd/v && ./v2 -skip-unused -o v3 cmd/v && ./v3 -skip-unused -o v4 cmd/v run: v -skip-unused -o v2 cmd/v && ./v2 -skip-unused -o v3 cmd/v && ./v3 -skip-unused -o v4 cmd/v
- name: v doctor - name: v doctor
run: ./v doctor run: v doctor
- name: Verify `v test` works - name: Verify `v test` works
run: | run: |
echo $VFLAGS echo $VFLAGS
./v cmd/tools/test_if_v_test_system_works.v v cmd/tools/test_if_v_test_system_works.v
./cmd/tools/test_if_v_test_system_works ./cmd/tools/test_if_v_test_system_works
- name: Test pure V math module - name: Test pure V math module
run: ./v -exclude @vlib/math/*.c.v test vlib/math/ run: v -exclude @vlib/math/*.c.v test vlib/math/
- name: Self tests - name: Self tests
run: ./v test-self vlib run: v test-self vlib
# - name: Self tests (-cstrict) # - name: Self tests (-cstrict)
# run: V_CI_CSTRICT=1 ./v -cstrict test-self vlib # run: V_CI_CSTRICT=1 v -cstrict test-self vlib
- name: Build examples - name: Build examples
run: ./v -N -W build-examples run: v -N -W build-examples
- name: Run the submodule example, using a relative path - name: Run the submodule example, using a relative path
run: ./v -W run examples/submodule run: v -W run examples/submodule
- name: Build v tools - name: Build v tools
run: ./v -N -W build-tools run: v -N -W build-tools
- name: Build v binaries - name: Build v binaries
run: ./v -N -W build-vbinaries run: v -N -W build-vbinaries
- name: Build benches - name: Build benches
run: ./v should-compile-all vlib/v/tests/bench/ run: v should-compile-all vlib/v/tests/bench/
- name: Run a VSH script - name: Run a VSH script
run: ./v run examples/v_script.vsh run: v run examples/v_script.vsh
- name: Test v tutorials - name: Test v tutorials
run: ./v tutorials/building_a_simple_web_blog_with_vweb/code/blog run: v tutorials/building_a_simple_web_blog_with_vweb/code/blog
- name: Build cmd/tools/fast - name: Build cmd/tools/fast
run: cd cmd/tools/fast && ../../../v fast.v && ./fast run: cd cmd/tools/fast && v fast.v && ./fast
- name: V self compilation with -usecache - name: V self compilation with -usecache
run: | run: |
unset VFLAGS unset VFLAGS
./v -usecache examples/hello_world.v && examples/hello_world v -usecache examples/hello_world.v && examples/hello_world
./v -o v2 -usecache cmd/v v -o v2 -usecache cmd/v
./v2 -o v3 -usecache cmd/v ./v2 -o v3 -usecache cmd/v
./v3 version ./v3 version
./v3 -o tetris -usecache examples/tetris/tetris.v ./v3 -o tetris -usecache examples/tetris/tetris.v
- name: Test password input - name: Test password input
run: ./v test examples/password/ run: v test examples/password/
- name: Test readline - name: Test readline
run: ./v test examples/readline/ run: v test examples/readline/
- name: Test leak detector - name: Test leak detector
run: | run: |
./v -gc boehm_leak -o testcase_leak vlib/v/tests/testcase_leak.vv v -gc boehm_leak -o testcase_leak vlib/v/tests/testcase_leak.vv
./testcase_leak 2>leaks.txt ./testcase_leak 2>leaks.txt
grep "Found 1 leaked object" leaks.txt && grep -P ", sz=\s?1000," leaks.txt grep "Found 1 leaked object" leaks.txt && grep -P ", sz=\s?1000," leaks.txt
- name: Test leak detector not being active for normal compile - name: Test leak detector not being active for normal compile
run: | run: |
./v -o testcase_leak vlib/v/tests/testcase_leak.vv v -o testcase_leak vlib/v/tests/testcase_leak.vv
./testcase_leak 2>leaks.txt ./testcase_leak 2>leaks.txt
[ "$(stat -c %s leaks.txt)" = "0" ] [ "$(stat -c %s leaks.txt)" = "0" ]
@ -117,84 +117,84 @@ jobs:
- name: Build V - name: Build V
run: make -j4 && ./v symlink -githubci run: make -j4 && ./v symlink -githubci
- name: All code is formatted - name: All code is formatted
run: ./v test-cleancode run: v test-cleancode
- name: Install dependencies for examples and tools - name: Install dependencies for examples and tools
run: | run: |
./v retry -- sudo apt update v retry -- sudo apt update
./v retry -- sudo apt install --quiet -y postgresql libpq-dev libssl-dev sqlite3 libsqlite3-dev valgrind v retry -- sudo apt install --quiet -y postgresql libpq-dev libssl-dev sqlite3 libsqlite3-dev valgrind
./v retry -- sudo apt install --quiet -y libfreetype6-dev libxi-dev libxcursor-dev libgl-dev v retry -- sudo apt install --quiet -y libfreetype6-dev libxi-dev libxcursor-dev libgl-dev
- name: Recompile V with -cstrict and gcc - name: Recompile V with -cstrict and gcc
run: v -cc gcc -cg -cstrict -o v cmd/v run: v -cc gcc -cg -cstrict -o v cmd/v
- name: Valgrind v.c - name: Valgrind v.c
run: valgrind --error-exitcode=1 ./v -o v.c cmd/v run: valgrind --error-exitcode=1 v -o v.c cmd/v
- name: Run sanitizers - name: Run sanitizers
run: | run: |
./v -o v2 cmd/v -cflags -fsanitize=thread v -o v2 cmd/v -cflags -fsanitize=thread
./v -o v3 cmd/v -cflags "-fsanitize=undefined -fno-sanitize=alignment" v -o v3 cmd/v -cflags "-fsanitize=undefined -fno-sanitize=alignment"
UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1 ./v2 -o v.c cmd/v UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1 ./v2 -o v.c cmd/v
UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1 ./v3 -o v.c cmd/v UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1 ./v3 -o v.c cmd/v
# - name: Test V # - name: Test V
# run: ./v test-all # run: v test-all
# - name: Test v binaries # - name: Test v binaries
# run: ./v -N -W build-vbinaries # run: v -N -W build-vbinaries
# - name: Test v->js # - name: Test v->js
# run: ./v -o hi.js examples/hello_v_js.v && node hi.js # run: v -o hi.js examples/hello_v_js.v && node hi.js
# - name: Build Vorum # - name: Build Vorum
# run: ./v retry -- git clone --depth 1 https://github.com/vlang/vorum && cd vorum && ../v . && cd .. # run: v retry -- git clone --depth 1 https://github.com/vlang/vorum && cd vorum && v . && cd ..
- name: Freestanding - name: Freestanding
run: ./v -freestanding run vlib/os/bare/bare_example_linux.v run: v -freestanding run vlib/os/bare/bare_example_linux.v
- name: V self compilation - name: V self compilation
run: ./v -o v2 cmd/v && ./v2 -o v3 cmd/v && ./v3 -o v4 cmd/v run: v -o v2 cmd/v && ./v2 -o v3 cmd/v && ./v3 -o v4 cmd/v
- name: V self compilation with -usecache - name: V self compilation with -usecache
run: | run: |
unset VFLAGS unset VFLAGS
./v -usecache examples/hello_world.v && examples/hello_world v -usecache examples/hello_world.v && examples/hello_world
./v -o v2 -usecache cmd/v v -o v2 -usecache cmd/v
./v2 -o v3 -usecache cmd/v ./v2 -o v3 -usecache cmd/v
./v3 version ./v3 version
./v3 -o tetris -usecache examples/tetris/tetris.v ./v3 -o tetris -usecache examples/tetris/tetris.v
- name: Verify `v test` works - name: Verify `v test` works
run: | run: |
echo $VFLAGS echo $VFLAGS
./v cmd/tools/test_if_v_test_system_works.v v cmd/tools/test_if_v_test_system_works.v
./cmd/tools/test_if_v_test_system_works ./cmd/tools/test_if_v_test_system_works
- name: Test pure V math module - name: Test pure V math module
run: ./v -exclude @vlib/math/*.c.v test vlib/math/ run: v -exclude @vlib/math/*.c.v test vlib/math/
- name: Self tests - name: Self tests
run: ./v test-self vlib run: v test-self vlib
- name: Self tests (-prod) - name: Self tests (-prod)
run: ./v -o vprod -prod cmd/v && ./vprod test-self vlib run: v -o vprod -prod cmd/v && ./vprod test-self vlib
- name: Self tests (-cstrict) - name: Self tests (-cstrict)
run: VTEST_JUST_ESSENTIAL=1 V_CI_CSTRICT=1 ./v -cc gcc -cstrict test-self vlib run: VTEST_JUST_ESSENTIAL=1 V_CI_CSTRICT=1 v -cc gcc -cstrict test-self vlib
- name: Build examples - name: Build examples
run: ./v -N -W build-examples run: v -N -W build-examples
- name: Build tetris with -autofree - name: Build tetris with -autofree
run: ./v -autofree -o tetris examples/tetris/tetris.v run: v -autofree -o tetris examples/tetris/tetris.v
- name: Build blog tutorial with -autofree - name: Build blog tutorial with -autofree
run: ./v -autofree -o blog tutorials/building_a_simple_web_blog_with_vweb/code/blog run: v -autofree -o blog tutorials/building_a_simple_web_blog_with_vweb/code/blog
- name: Build option_test.c.v with -autofree - name: Build option_test.c.v with -autofree
run: ./v -autofree vlib/v/tests/option_test.c.v run: v -autofree vlib/v/tests/option_test.c.v
- name: V self compilation with -parallel-cc - name: V self compilation with -parallel-cc
run: | run: |
./v -o v2 -parallel-cc cmd/v v -o v2 -parallel-cc cmd/v
- name: Build modules - name: Build modules
run: | run: |
./v build-module vlib/os v build-module vlib/os
./v build-module vlib/builtin v build-module vlib/builtin
./v build-module vlib/strconv v build-module vlib/strconv
./v build-module vlib/time v build-module vlib/time
./v build-module vlib/term v build-module vlib/term
./v build-module vlib/math v build-module vlib/math
./v build-module vlib/strings v build-module vlib/strings
./v build-module vlib/v/token v build-module vlib/v/token
./v build-module vlib/v/ast v build-module vlib/v/ast
./v build-module vlib/v/parser v build-module vlib/v/parser
./v build-module vlib/v/gen/c v build-module vlib/v/gen/c
./v build-module vlib/v/depgraph v build-module vlib/v/depgraph
./v build-module vlib/os/cmdline v build-module vlib/os/cmdline
- name: native machine code generation - name: native machine code generation
run: | run: |
./v -o vprod -prod cmd/v v -o vprod -prod cmd/v
cd cmd/tools cd cmd/tools
echo "Generating a 1m line V file..." echo "Generating a 1m line V file..."
../../vprod gen1m.v ../../vprod gen1m.v
@ -205,11 +205,11 @@ jobs:
./1m ./1m
ls ls
- name: compile vdoctor.v with -skip-unused and -prod - name: compile vdoctor.v with -skip-unused and -prod
run: ./v -showcc -skip-unused -cc gcc -prod cmd/tools/vdoctor.v run: v -showcc -skip-unused -cc gcc -prod cmd/tools/vdoctor.v
- name: compile vup.v with -skip-unused and -prod - name: compile vup.v with -skip-unused and -prod
run: ./v -showcc -skip-unused -cc gcc -prod cmd/tools/vup.v run: v -showcc -skip-unused -cc gcc -prod cmd/tools/vup.v
# - run: cd examples/native && ../../v -native hello_world.v && ./hello_world # - run: cd examples/native && v -native hello_world.v && ./hello_world
# - name: Coveralls GitHub Action # - name: Coveralls GitHub Action
# uses: coverallsapp/github-action@v1.0.1 # uses: coverallsapp/github-action@v1.0.1
# with: # with:
@ -225,75 +225,75 @@ jobs:
- name: Build V - name: Build V
run: make -j4 && ./v symlink -githubci run: make -j4 && ./v symlink -githubci
- name: All code is formatted - name: All code is formatted
run: ./v test-cleancode run: v test-cleancode
- name: Install dependencies for examples and tools - name: Install dependencies for examples and tools
run: | run: |
./v retry -- sudo apt update v retry -- sudo apt update
./v retry -- sudo apt install --quiet -y postgresql libpq-dev libssl-dev sqlite3 libsqlite3-dev valgrind v retry -- sudo apt install --quiet -y postgresql libpq-dev libssl-dev sqlite3 libsqlite3-dev valgrind
./v retry -- sudo apt install --quiet -y libfreetype6-dev libxi-dev libxcursor-dev libgl-dev v retry -- sudo apt install --quiet -y libfreetype6-dev libxi-dev libxcursor-dev libgl-dev
./v retry -- sudo apt install --quiet -y clang v retry -- sudo apt install --quiet -y clang
- name: Recompile V with -cstrict and clang - name: Recompile V with -cstrict and clang
run: v -cc clang -cg -cstrict -o v cmd/v run: v -cc clang -cg -cstrict -o v cmd/v
- name: Valgrind - name: Valgrind
run: valgrind --error-exitcode=1 ./v -o v.c cmd/v run: valgrind --error-exitcode=1 v -o v.c cmd/v
- name: Run sanitizers - name: Run sanitizers
run: | run: |
./v -o v2 cmd/v -cflags -fsanitize=memory v -o v2 cmd/v -cflags -fsanitize=memory
./v -o v3 cmd/v -cflags -fsanitize=thread v -o v3 cmd/v -cflags -fsanitize=thread
./v -o v4 cmd/v -cflags -fsanitize=undefined v -o v4 cmd/v -cflags -fsanitize=undefined
./v -o v5 cmd/v -cflags -fsanitize=address,pointer-compare,pointer-subtract v -o v5 cmd/v -cflags -fsanitize=address,pointer-compare,pointer-subtract
UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1 ./v2 -o v.c cmd/v UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1 ./v2 -o v.c cmd/v
UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1 ./v3 -o v.c cmd/v UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1 ./v3 -o v.c cmd/v
UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1 ./v4 -o v.c cmd/v UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1 ./v4 -o v.c cmd/v
ASAN_OPTIONS=detect_leaks=0 UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1 ./v5 -o v.c cmd/v ASAN_OPTIONS=detect_leaks=0 UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1 ./v5 -o v.c cmd/v
- name: v self compilation - name: v self compilation
run: ./v -o v2 cmd/v && ./v2 -o v3 cmd/v && ./v3 -o v4 cmd/v run: v -o v2 cmd/v && ./v2 -o v3 cmd/v && ./v3 -o v4 cmd/v
- name: v self compilation with -usecache - name: v self compilation with -usecache
run: | run: |
unset VFLAGS unset VFLAGS
./v -usecache examples/hello_world.v && examples/hello_world v -usecache examples/hello_world.v && examples/hello_world
./v -o v2 -usecache cmd/v v -o v2 -usecache cmd/v
./v2 -o v3 -usecache cmd/v ./v2 -o v3 -usecache cmd/v
./v3 version ./v3 version
./v3 -o tetris -usecache examples/tetris/tetris.v ./v3 -o tetris -usecache examples/tetris/tetris.v
- name: Verify `v test` works - name: Verify `v test` works
run: | run: |
echo $VFLAGS echo $VFLAGS
./v cmd/tools/test_if_v_test_system_works.v v cmd/tools/test_if_v_test_system_works.v
./cmd/tools/test_if_v_test_system_works ./cmd/tools/test_if_v_test_system_works
- name: Test pure V math module - name: Test pure V math module
run: ./v -exclude @vlib/math/*.c.v test vlib/math/ run: v -exclude @vlib/math/*.c.v test vlib/math/
- name: Self tests - name: Self tests
run: ./v test-self vlib run: v test-self vlib
- name: Self tests (vprod) - name: Self tests (vprod)
run: ./v -o vprod -prod cmd/v && ./vprod test-self vlib run: v -o vprod -prod cmd/v && ./vprod test-self vlib
- name: Self tests (-cstrict) - name: Self tests (-cstrict)
run: VTEST_JUST_ESSENTIAL=1 V_CI_CSTRICT=1 ./vprod -cstrict test-self vlib run: VTEST_JUST_ESSENTIAL=1 V_CI_CSTRICT=1 ./vprod -cstrict test-self vlib
- name: Build examples - name: Build examples
run: ./v -N -W build-examples run: v -N -W build-examples
- name: Build examples with -autofree - name: Build examples with -autofree
run: | run: |
./v -autofree -experimental -o tetris examples/tetris/tetris.v v -autofree -experimental -o tetris examples/tetris/tetris.v
- name: Build modules - name: Build modules
run: | run: |
./v build-module vlib/os v build-module vlib/os
./v build-module vlib/builtin v build-module vlib/builtin
./v build-module vlib/strconv v build-module vlib/strconv
./v build-module vlib/time v build-module vlib/time
./v build-module vlib/term v build-module vlib/term
./v build-module vlib/math v build-module vlib/math
./v build-module vlib/strings v build-module vlib/strings
./v build-module vlib/v/token v build-module vlib/v/token
./v build-module vlib/v/ast v build-module vlib/v/ast
./v build-module vlib/v/parser v build-module vlib/v/parser
./v build-module vlib/v/gen/c v build-module vlib/v/gen/c
./v build-module vlib/v/depgraph v build-module vlib/v/depgraph
./v build-module vlib/os/cmdline v build-module vlib/os/cmdline
- name: native machine code generation - name: native machine code generation
run: | run: |
./v -o vprod -prod cmd/v v -o vprod -prod cmd/v
cd cmd/tools cd cmd/tools
echo "Generating a 1m line V file..." echo "Generating a 1m line V file..."
../../vprod gen1m.v ../../vprod gen1m.v
@ -315,7 +315,7 @@ jobs:
# - name: Build V # - name: Build V
# run: make -j4 # run: make -j4
# - name: V self compilation with -autofree # - name: V self compilation with -autofree
# run: ./v -o v2 -autofree cmd/v && ./v2 -o v3 -autofree cmd/v && ./v3 -o v4 -autofree cmd/v # run: v -o v2 -autofree cmd/v && ./v2 -o v3 -autofree cmd/v && ./v3 -o v4 -autofree cmd/v
# musl: # musl:
# runs-on: ubuntu-20.04 # runs-on: ubuntu-20.04
@ -329,14 +329,14 @@ jobs:
# run: echo $VFLAGS && make -j4 && ./v symlink -githubci # run: echo $VFLAGS && make -j4 && ./v symlink -githubci
# - uses: actions/checkout@v4 # - uses: actions/checkout@v4
# - name: Install dependencies for examples and tools # - name: Install dependencies for examples and tools
# run: ./v retry -- sudo apt install --quiet -y musl musl-tools libssl-dev sqlite3 libsqlite3-dev valgrind # run: v retry -- sudo apt install --quiet -y musl musl-tools libssl-dev sqlite3 libsqlite3-dev valgrind
# - name: Recompile V with -cg # - name: Recompile V with -cg
# run: ./v -cg -o v cmd/v # run: v -cg -o v cmd/v
# # - name: Test v binaries # # - name: Test v binaries
# # run: ./v -N -W build-vbinaries # # run: v -N -W build-vbinaries
# # - name: Test v->js # # - name: Test v->js
# # run: ./v -o hi.js examples/hello_v_js.v && node hi.js # # run: v -o hi.js examples/hello_v_js.v && node hi.js
# - name: quick debug # - name: quick debug
# run: ./v -stats vlib/strconv/format_test.v # run: v -stats vlib/strconv/format_test.v
# - name: Self tests # - name: Self tests
# run: ./v test-self vlib # run: v test-self vlib

View file

@ -34,23 +34,25 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Build V - name: Build V
run: make -j4 && ./v symlink -githubci && ./v -cg -cstrict -o v cmd/v run: make -j4 && ./v symlink -githubci
- name: Build V with -cstrict
run: v -cg -cstrict -o v cmd/v
- name: All code is formatted - name: All code is formatted
run: VJOBS=1 ./v test-cleancode run: VJOBS=1 v test-cleancode
- name: Install dependencies - name: Install dependencies
run: | run: |
echo "PKG_CONFIG_PATH is '$PKG_CONFIG_PATH'" echo "PKG_CONFIG_PATH is '$PKG_CONFIG_PATH'"
./v retry -- brew install libpq openssl mercurial v retry -- brew install libpq openssl mercurial
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/opt/openssl/lib/" export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/opt/openssl/lib/"
echo "LIBRARY_PATH is '$LIBRARY_PATH'" echo "LIBRARY_PATH is '$LIBRARY_PATH'"
- name: Run sanitizers - name: Run sanitizers
run: | run: |
./v -o v2 cmd/v -cflags -fsanitize=undefined v -o v2 cmd/v -cflags -fsanitize=undefined
UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1 ./v2 -o v.c cmd/v UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1 ./v2 -o v.c cmd/v
- name: Build V using V - name: Build V using V
run: ./v -o v2 cmd/v && ./v2 -o v3 cmd/v run: v -o v2 cmd/v && ./v2 -o v3 cmd/v
- name: Test symlink - name: Test symlink
run: ./v symlink run: v symlink
# - name: Set up pg database # - name: Set up pg database
# run: | # run: |
# pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start # pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
@ -58,42 +60,42 @@ jobs:
# psql -d postgres -c 'create database customerdb;' # psql -d postgres -c 'create database customerdb;'
# psql -d customerdb -f examples/database/pg/mydb.sql # psql -d customerdb -f examples/database/pg/mydb.sql
# - name: Test v->c # - name: Test v->c
# run: ./v test-all # run: v test-all
# - name: Test v binaries # - name: Test v binaries
# run: ./v build-vbinaries # run: v build-vbinaries
# - name: Test v->js # - name: Test v->js
# run: ./v -o hi.js examples/hello_v_js.v && node hi.js # run: v -o hi.js examples/hello_v_js.v && node hi.js
- name: Verify `v test` works - name: Verify `v test` works
run: | run: |
echo $VFLAGS echo $VFLAGS
./v cmd/tools/test_if_v_test_system_works.v v cmd/tools/test_if_v_test_system_works.v
./cmd/tools/test_if_v_test_system_works ./cmd/tools/test_if_v_test_system_works
- name: Test pure V math module - name: Test pure V math module
run: ./v -exclude @vlib/math/*.c.v test vlib/math/ run: v -exclude @vlib/math/*.c.v test vlib/math/
- name: Self tests - name: Self tests
run: VJOBS=1 ./v test-self vlib run: VJOBS=1 v test-self vlib
- name: Build examples - name: Build examples
run: ./v build-examples run: v build-examples
- name: Build tetris with -autofree - name: Build tetris with -autofree
run: ./v -autofree -o tetris examples/tetris/tetris.v run: v -autofree -o tetris examples/tetris/tetris.v
- name: Build blog tutorial with -autofree - name: Build blog tutorial with -autofree
run: ./v -autofree -o blog tutorials/building_a_simple_web_blog_with_vweb/code/blog run: v -autofree -o blog tutorials/building_a_simple_web_blog_with_vweb/code/blog
- name: Build examples with -prod - name: Build examples with -prod
run: | run: |
./v -prod examples/news_fetcher.v v -prod examples/news_fetcher.v
- name: v doctor - name: v doctor
run: | run: |
./v doctor v doctor
- name: Test ved - name: Test ved
run: | run: |
./v retry -- git clone --depth 1 https://github.com/vlang/ved v retry -- git clone --depth 1 https://github.com/vlang/ved
cd ved && ../v -o ved . cd ved && ../v -o ved .
../v -autofree . ../v -autofree .
../v -prod . ../v -prod .
cd .. cd ..
- name: Build V UI examples - name: Build V UI examples
run: | run: |
./v retry -- git clone --depth 1 https://github.com/vlang/ui v retry -- git clone --depth 1 https://github.com/vlang/ui
cd ui cd ui
mkdir -p ~/.vmodules mkdir -p ~/.vmodules
ln -s $(pwd) ~/.vmodules/ui ln -s $(pwd) ~/.vmodules/ui
@ -103,15 +105,15 @@ jobs:
- name: V self compilation with -usecache - name: V self compilation with -usecache
run: | run: |
unset VFLAGS unset VFLAGS
./v -usecache examples/hello_world.v && examples/hello_world v -usecache examples/hello_world.v && examples/hello_world
./v -o v2 -usecache cmd/v v -o v2 -usecache cmd/v
./v2 -o v3 -usecache cmd/v ./v2 -o v3 -usecache cmd/v
./v3 version ./v3 version
./v3 -o tetris -usecache examples/tetris/tetris.v ./v3 -o tetris -usecache examples/tetris/tetris.v
- name: V self compilation with -parallel-cc - name: V self compilation with -parallel-cc
run: | run: |
./v -o v2 -parallel-cc cmd/v v -o v2 -parallel-cc cmd/v
- name: Test password input - name: Test password input
run: ./v test examples/password/ run: v test examples/password/
- name: Test readline - name: Test readline
run: ./v test examples/readline/ run: v test examples/readline/

View file

@ -33,44 +33,45 @@ jobs:
run: | run: |
gcc --version gcc --version
.\make.bat -gcc .\make.bat -gcc
.\v.exe symlink -githubci
- name: All code is formatted - name: All code is formatted
run: ./v test-cleancode run: v test-cleancode
- name: Test new v.c - name: Test new v.c
run: | run: |
.\v.exe -o v.c cmd/v v -o v.c cmd/v
gcc -Werror -municode -w v.c -lws2_32 gcc -Werror -municode -w v.c -lws2_32
- name: Install dependencies - name: Install dependencies
run: | run: |
.\v.exe setup-freetype v setup-freetype
.\.github\workflows\windows-install-sqlite.bat .\.github\workflows\windows-install-sqlite.bat
- name: v doctor - name: v doctor
run: | run: |
./v doctor v doctor
- name: Verify `v test` works - name: Verify `v test` works
run: | run: |
echo $VFLAGS echo $VFLAGS
./v cmd/tools/test_if_v_test_system_works.v v cmd/tools/test_if_v_test_system_works.v
./cmd/tools/test_if_v_test_system_works ./cmd/tools/test_if_v_test_system_works
- name: Test pure V math module - name: Test pure V math module
run: ./v -exclude @vlib/math/*.c.v test vlib/math/ run: v -exclude @vlib/math/*.c.v test vlib/math/
- name: Self tests - name: Self tests
run: .\v.exe test-self vlib run: v test-self vlib
# - name: Test # - name: Test
# run: .\v.exe test-all # run: v test-all
- name: Build option_test.c.v with -autofree - name: Build option_test.c.v with -autofree
run: .\v.exe -autofree vlib/v/tests/option_test.c.v run: v -autofree vlib/v/tests/option_test.c.v
- name: Test v->js - name: Test v->js
run: ./v -o hi.js examples/hello_v_js.v && node hi.js run: v -o hi.js examples/hello_v_js.v && node hi.js
- name: Test v binaries - name: Test v binaries
run: ./v build-vbinaries run: v build-vbinaries
- name: Build examples - name: Build examples
run: ./v build-examples run: v build-examples
- name: v2 self compilation - name: v2 self compilation
run: ./v -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v run: v -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v
- name: compile vdoctor.v with -skip-unused and -prod - name: compile vdoctor.v with -skip-unused and -prod
run: ./v -showcc -skip-unused -prod cmd/tools/vdoctor.v run: v -showcc -skip-unused -prod cmd/tools/vdoctor.v
- name: compile vup.v with -skip-unused and -prod - name: compile vup.v with -skip-unused and -prod
run: ./v -showcc -skip-unused -prod cmd/tools/vup.v run: v -showcc -skip-unused -prod cmd/tools/vup.v
msvc: msvc:
runs-on: windows-2019 runs-on: windows-2019
@ -85,37 +86,39 @@ jobs:
echo %VFLAGS% echo %VFLAGS%
echo $VFLAGS echo $VFLAGS
.\make.bat -msvc .\make.bat -msvc
.\v.exe -cflags /WX self .\v.exe symlink -githubci
- name: Build V with WX
run: v -cflags /WX self
- name: All code is formatted - name: All code is formatted
run: ./v test-cleancode run: v test-cleancode
- name: Install dependencies - name: Install dependencies
run: | run: |
.\v.exe setup-freetype v setup-freetype
.\.github\workflows\windows-install-sqlite.bat .\.github\workflows\windows-install-sqlite.bat
- name: v doctor - name: v doctor
run: | run: |
./v doctor v doctor
- name: Verify `v test` works - name: Verify `v test` works
run: | run: |
echo $VFLAGS echo $VFLAGS
./v cmd/tools/test_if_v_test_system_works.v v cmd/tools/test_if_v_test_system_works.v
./cmd/tools/test_if_v_test_system_works ./cmd/tools/test_if_v_test_system_works
- name: Test pure V math module - name: Test pure V math module
run: ./v -exclude @vlib/math/*.c.v test vlib/math/ run: v -exclude @vlib/math/*.c.v test vlib/math/
- name: Self tests - name: Self tests
run: | run: |
./v -cg cmd\tools\vtest-self.v v -cg cmd\tools\vtest-self.v
./v test-self vlib v test-self vlib
# - name: Test # - name: Test
# run: .\v.exe test-all # run: v test-all
- name: Test v->js - name: Test v->js
run: ./v -o hi.js examples/hello_v_js.v && node hi.js run: v -o hi.js examples/hello_v_js.v && node hi.js
- name: Test v binaries - name: Test v binaries
run: ./v build-vbinaries run: v build-vbinaries
- name: Build examples - name: Build examples
run: ./v build-examples run: v build-examples
- name: v2 self compilation - name: v2 self compilation
run: .\v.exe -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v run: v -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v
tcc: tcc:
runs-on: windows-2019 runs-on: windows-2019
@ -130,82 +133,83 @@ jobs:
- name: Build with make.bat -tcc - name: Build with make.bat -tcc
run: | run: |
.\make.bat -tcc .\make.bat -tcc
.\v.exe symlink -githubci
- name: All code is formatted - name: All code is formatted
run: ./v test-cleancode run: v test-cleancode
- name: Test new v.c - name: Test new v.c
run: | run: |
.\v.exe -o v.c cmd/v v -o v.c cmd/v
.\thirdparty\tcc\tcc.exe -Werror -w -ladvapi32 -lws2_32 -bt10 v.c .\thirdparty\tcc\tcc.exe -Werror -w -ladvapi32 -lws2_32 -bt10 v.c
- name: Install dependencies - name: Install dependencies
run: | run: |
.\v.exe setup-freetype v setup-freetype
.\.github\workflows\windows-install-sqlite.bat .\.github\workflows\windows-install-sqlite.bat
- name: v doctor - name: v doctor
run: | run: |
./v doctor v doctor
- name: Verify `v test` works - name: Verify `v test` works
run: | run: |
.\v.exe cmd/tools/test_if_v_test_system_works.v v cmd/tools/test_if_v_test_system_works.v
.\cmd\tools\test_if_v_test_system_works.exe .\cmd\tools\test_if_v_test_system_works.exe
- name: Verify `v vlib/v/gen/c/coutput_test.v` works - name: Verify `v vlib/v/gen/c/coutput_test.v` works
run: .\v.exe vlib/v/gen/c/coutput_test.v run: v vlib/v/gen/c/coutput_test.v
- name: Make sure running TCC64 instead of TCC32 - name: Make sure running TCC64 instead of TCC32
run: ./v test .github\workflows\make_sure_ci_run_with_64bit_compiler_test.v run: v test .github\workflows\make_sure_ci_run_with_64bit_compiler_test.v
- name: Test ./v doc -v clipboard *BEFORE building tools* - name: Test ./v doc -v clipboard *BEFORE building tools*
run: ./v doc -v clipboard run: v doc -v clipboard
- name: Test v build-tools - name: Test v build-tools
run: ./v -W build-tools run: v -W build-tools
- name: Test pure V math module - name: Test pure V math module
run: ./v -exclude @vlib/math/*.c.v test vlib/math/ run: v -exclude @vlib/math/*.c.v test vlib/math/
- name: Self tests - name: Self tests
run: ./v test-self vlib run: v test-self vlib
- name: Test v->js - name: Test v->js
run: ./v -o hi.js examples/hello_v_js.v && node hi.js run: v -o hi.js examples/hello_v_js.v && node hi.js
- name: Test v binaries - name: Test v binaries
run: ./v build-vbinaries run: v build-vbinaries
- name: Build examples - name: Build examples
run: ./v build-examples run: v build-examples
- name: v2 self compilation - name: v2 self compilation
run: .\v.exe -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v && .\v3.exe -o v4.exe cmd/v 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 - name: v2 self compilation with -gc boehm
run: .\v.exe -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 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
## tcc32 ## tcc32
# - name: Build with make.bat -tcc32 # - name: Build with make.bat -tcc32
# run: | # run: |
# Remove-Item -Recurse -Force .\thirdparty\tcc # Remove-Item -Recurse -Force .\thirdparty\tcc
# .\v.exe wipe-cache # v wipe-cache
# .\make.bat -tcc32 # .\make.bat -tcc32
# - name: Test new v.c # - name: Test new v.c
# run: .\v.exe -o v.c cmd/v && .\thirdparty\tcc\tcc.exe -Werror -g -w -ladvapi32 -lws2_32 -bt10 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 # - name: v doctor
# run: ./v doctor # run: v doctor
# #
# - name: Verify `v test` works # - name: Verify `v test` works
# run: | # run: |
# .\v.exe cmd/tools/test_if_v_test_system_works.v # v cmd/tools/test_if_v_test_system_works.v
# .\cmd\tools\test_if_v_test_system_works.exe # .\cmd\tools\test_if_v_test_system_works.exe
# #
# - name: Verify `v vlib/v/gen/c/coutput_test.v` works # - name: Verify `v vlib/v/gen/c/coutput_test.v` works
# run: | # run: |
# .\v.exe vlib/v/gen/c/coutput_test.v # v vlib/v/gen/c/coutput_test.v
# #
# - name: Make sure running TCC32 instead of TCC64 # - name: Make sure running TCC32 instead of TCC64
# run: ./v -stats .github\workflows\make_sure_ci_run_with_32bit_compiler_test.v # run: v -stats .github\workflows\make_sure_ci_run_with_32bit_compiler_test.v
# #
# - name: Test v build-tools # - name: Test v build-tools
# run: ./v -W build-tools # run: v -W build-tools
# #
# - name: Test ./v doc clipboard # - name: Test ./v doc clipboard
# run: ./v doc clipboard # run: v doc clipboard
# #
# - name: Self tests # - name: Self tests
# run: ./v test-self vlib # run: v test-self vlib
# - name: Test v->js # - name: Test v->js
# run: ./v -o hi.js examples/hello_v_js.v && node hi.js # run: v -o hi.js examples/hello_v_js.v && node hi.js
# - name: Test v binaries # - name: Test v binaries
# run: ./v build-vbinaries # run: v build-vbinaries
# - name: Build examples # - name: Build examples
# run: ./v build-examples # run: v build-examples
# - name: v2 self compilation # - name: v2 self compilation
# run: .\v.exe -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v # run: v -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v