@go
-> golang
#32492
Workflow file for this run
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: Code CI | |
on: | |
push: | |
paths-ignore: | |
- "**.md" | |
pull_request: | |
paths-ignore: | |
- "**.md" | |
concurrency: | |
group: build-ci-${{ github.event.pull_request.number || github.sha }} | |
cancel-in-progress: true | |
jobs: | |
ubuntu-tcc: | |
runs-on: ubuntu-20.04 | |
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v' | |
timeout-minutes: 121 | |
env: | |
VFLAGS: -cc tcc -no-retry-compilation | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install --quiet -y libssl-dev sqlite3 libsqlite3-dev valgrind | |
sudo apt-get install --quiet -y libfreetype6-dev libxi-dev libxcursor-dev libgl-dev | |
## The following is needed for examples/wkhtmltopdf.v | |
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb | |
sudo apt-get install --quiet -y xfonts-75dpi xfonts-base | |
sudo dpkg -i wkhtmltox_0.12.6-1.focal_amd64.deb | |
- name: Build v | |
run: | | |
echo $VFLAGS | |
make | |
./v test-cleancode | |
./v -d debug_malloc -d debug_realloc -o v cmd/v | |
./v -cg -cstrict -o v cmd/v | |
# Test v -realloc arena allocation | |
./v -o vrealloc -prealloc cmd/v && ./vrealloc -o v3 cmd/v && ./v3 -o v4 cmd/v | |
- name: Test v->c | |
run: | | |
thirdparty/tcc/tcc.exe -version | |
./v -cg -o v cmd/v # Make sure vtcc can build itself twice | |
# ./v test-all | |
- name: v self compilation | |
run: ./v -o v2 cmd/v && ./v2 -o v3 cmd/v && ./v3 -o v4 cmd/v | |
- 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 | |
- 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: All code is formatted | |
run: ./v test-cleancode | |
- name: Self tests | |
run: ./v test-self | |
# - name: Self tests (-cstrict) | |
# run: V_CI_CSTRICT=1 ./v -cstrict test-self | |
- name: Test time functions in a timezone UTC-12 | |
run: TZ=Etc/GMT+12 ./v test vlib/time/ | |
- name: Test time functions in a timezone UTC-3 | |
run: TZ=Etc/GMT+3 ./v test vlib/time/ | |
- name: Test time functions in a timezone UTC+3 | |
run: TZ=Etc/GMT-3 ./v test vlib/time/ | |
- name: Test time functions in a timezone UTC+12 | |
run: TZ=Etc/GMT-12 ./v test vlib/time/ | |
- name: Test time functions in a timezone using daylight saving (Europe/Paris) | |
run: TZ=Europe/Paris ./v test vlib/time/ | |
- name: Build examples | |
run: ./v -W build-examples | |
- name: Test building v tools | |
run: ./v -W build-tools | |
- name: Test v binaries | |
run: ./v build-vbinaries | |
- name: Run a VSH script | |
run: ./v run examples/v_script.vsh | |
- name: Test v tutorials | |
run: ./v tutorials/building_a_simple_web_blog_with_vweb/code/blog | |
- name: Build cmd/tools/fast | |
run: cd cmd/tools/fast && ../../../v fast.v && ./fast | |
- name: V self compilation with -usecache | |
run: | | |
unset VFLAGS | |
./v -usecache examples/hello_world.v && examples/hello_world | |
./v -o v2 -usecache cmd/v | |
./v2 -o v3 -usecache cmd/v | |
./v3 version | |
./v3 -o tetris -usecache examples/tetris/tetris.v | |
ubuntu-tcc-boehm-gc: | |
runs-on: ubuntu-20.04 | |
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v' | |
timeout-minutes: 121 | |
env: | |
VFLAGS: -cc tcc -no-retry-compilation | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install --quiet -y libssl-dev sqlite3 libsqlite3-dev valgrind | |
sudo apt-get install --quiet -y libfreetype6-dev libxi-dev libxcursor-dev libgl-dev | |
sudo apt-get install --quiet -y libgc-dev | |
## The following is needed for examples/wkhtmltopdf.v | |
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb | |
sudo apt-get install --quiet -y xfonts-75dpi xfonts-base | |
sudo dpkg -i wkhtmltox_0.12.6-1.focal_amd64.deb | |
- name: Build v | |
run: | | |
echo $VFLAGS | |
make | |
- name: Test v->c | |
run: | | |
thirdparty/tcc/tcc.exe -version | |
./v -cg -o v cmd/v # Make sure vtcc can build itself twice | |
- name: v self compilation with -gc boehm | |
run: | | |
./v -gc boehm -o v2 cmd/v && ./v2 -gc boehm -o v3 cmd/v && ./v3 -gc boehm -o v4 cmd/v | |
mv v4 v | |
- name: v doctor | |
run: | | |
./v doctor | |
- name: Verify `v -gc boehm test` works | |
run: | | |
./v -gc boehm cmd/tools/test_if_v_test_system_works.v | |
./cmd/tools/test_if_v_test_system_works | |
- name: All code is formatted | |
run: ./v test-cleancode | |
- name: Self tests with `-gc boehm` with V compiler using Boehm-GC itself | |
run: ./v -gc boehm test-self | |
- name: Test leak detector | |
run: | | |
./v -gc boehm_leak -o testcase_leak vlib/v/tests/testcase_leak.vv | |
./testcase_leak 2>leaks.txt | |
grep "Found 1 leaked object" leaks.txt && grep -P ", sz=\s?1000," leaks.txt | |
- name: Test leak detector not being active for `-gc boehm` | |
run: | | |
./v -gc boehm -o testcase_leak vlib/v/tests/testcase_leak.vv | |
./testcase_leak 2>leaks.txt | |
[ "$(stat -c %s leaks.txt)" = "0" ] | |
- name: Test leak detector not being active for normal compile | |
run: | | |
./v -o testcase_leak vlib/v/tests/testcase_leak.vv | |
./testcase_leak 2>leaks.txt | |
[ "$(stat -c %s leaks.txt)" = "0" ] | |
macos: | |
runs-on: macOS-12 | |
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v' | |
timeout-minutes: 121 | |
env: | |
VFLAGS: -cc clang | |
PKG_CONFIG_PATH: /usr/local/opt/openssl@3/lib/pkgconfig | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v1 | |
with: | |
node-version: 12.x | |
- name: Install dependencies | |
run: | | |
##brew install libpq openssl freetype ### these are *already installed* on Catalina ... | |
brew uninstall --ignore-dependencies libpq ## libpq is a dependency of PHP | |
brew install postgresql openssl | |
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/opt/openssl/lib/" | |
echo "PKG_CONFIG_PATH is '$PKG_CONFIG_PATH'" | |
- name: Build V | |
run: make -j4 && ./v -cg -cstrict -o v cmd/v | |
- name: Run sanitizers | |
run: | | |
./v -o v2 cmd/v -cflags -fsanitize=undefined | |
UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1 ./v2 -o v.c cmd/v | |
- name: Build V using V | |
run: ./v -o v2 cmd/v && ./v2 -o v3 cmd/v | |
- name: Test symlink | |
run: ./v symlink | |
# - name: Set up pg database | |
# run: | | |
# pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start | |
# psql -d postgres -c 'select rolname from pg_roles' | |
# psql -d postgres -c 'create database customerdb;' | |
# psql -d customerdb -f examples/database/pg/mydb.sql | |
# - name: Test v->c | |
# run: ./v test-all | |
# - name: Test v binaries | |
# run: ./v build-vbinaries | |
## - name: Test v->js | |
## run: ./v -o hi.js examples/hello_v_js.v && node hi.js | |
- 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: All code is formatted | |
run: VJOBS=1 ./v test-cleancode | |
- name: Self tests | |
run: VJOBS=1 ./v test-self | |
- name: Build examples | |
run: ./v build-examples | |
- name: Build examples with -autofree | |
run: | | |
./v -autofree -o tetris examples/tetris/tetris.v | |
./v -autofree -o blog tutorials/building_a_simple_web_blog_with_vweb/code/blog | |
- name: v doctor | |
run: | | |
./v doctor | |
- name: Test ved | |
run: | | |
git clone --depth 1 https://github.com/vlang/ved | |
cd ved && ../v -o ved . | |
../v -autofree . | |
cd .. | |
# - name: Test c2v | |
# run: | | |
# git clone --depth 1 https://github.com/vlang/c2v | |
# cd c2v && ../v -o c2v . | |
# ../v . | |
# ../v run tests/run_tests.vsh | |
# ../v -experimental -w c2v_test.v | |
# cd .. | |
- name: Build V UI examples | |
run: | | |
git clone --depth 1 https://github.com/vlang/ui | |
cd ui | |
mkdir -p ~/.vmodules | |
ln -s $(pwd) ~/.vmodules/ui | |
../v examples/rectangles.v | |
## ../v run examples/build_examples.vsh | |
- name: V self compilation with -usecache | |
run: | | |
unset VFLAGS | |
./v -usecache examples/hello_world.v && examples/hello_world | |
./v -o v2 -usecache cmd/v | |
./v2 -o v3 -usecache cmd/v | |
./v3 version | |
./v3 -o tetris -usecache examples/tetris/tetris.v | |
ubuntu: | |
runs-on: ubuntu-20.04 | |
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v' | |
timeout-minutes: 121 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v1 | |
with: | |
node-version: 12.x | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install --quiet -y postgresql libpq-dev libssl-dev sqlite3 libsqlite3-dev valgrind | |
sudo apt-get install --quiet -y libfreetype6-dev libxi-dev libxcursor-dev libgl-dev | |
- name: Build V | |
run: make -j4 && ./v -cc gcc -cg -cstrict -o v cmd/v | |
- name: Valgrind v.c | |
run: valgrind --error-exitcode=1 ./v -o v.c cmd/v | |
- name: Run sanitizers | |
run: | | |
./v -o v2 cmd/v -cflags -fsanitize=thread | |
./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 ./v3 -o v.c cmd/v | |
# - name: Test V | |
# run: ./v test-all | |
# - name: Test v binaries | |
# run: ./v build-vbinaries | |
## - name: Test v->js | |
## run: ./v -o hi.js examples/hello_v_js.v && node hi.js | |
# - name: Build Vorum | |
# run: git clone --depth 1 https://github.com/vlang/vorum && cd vorum && ../v . && cd .. | |
- name: Build vpm | |
run: git clone --depth 1 https://github.com/vlang/vpm && cd vpm && ../v . && cd .. | |
- name: Freestanding | |
run: ./v -freestanding run vlib/os/bare/bare_example_linux.v | |
- name: V self compilation | |
run: ./v -o v2 cmd/v && ./v2 -o v3 cmd/v && ./v3 -o v4 cmd/v | |
- name: V self compilation with -usecache | |
run: | | |
unset VFLAGS | |
./v -usecache examples/hello_world.v && examples/hello_world | |
./v -o v2 -usecache cmd/v | |
./v2 -o v3 -usecache cmd/v | |
./v3 version | |
./v3 -o tetris -usecache examples/tetris/tetris.v | |
- 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: All code is formatted | |
run: ./v test-cleancode | |
- name: Self tests | |
run: ./v test-self | |
- name: Self tests (-prod) | |
run: ./v -o vprod -prod cmd/v && ./vprod test-self | |
- name: Self tests (-cstrict) | |
run: VTEST_JUST_ESSENTIAL=1 V_CI_CSTRICT=1 ./v -cc gcc -cstrict test-self | |
- name: Build examples | |
run: ./v build-examples | |
- name: Build tetris.v with -autofree | |
run: ./v -autofree -experimental -o tetris examples/tetris/tetris.v | |
- name: Build option_test.v with -autofree | |
run: ./v -autofree vlib/v/tests/option_test.v | |
- name: Build modules | |
run: | | |
./v build-module vlib/os | |
./v build-module vlib/builtin | |
./v build-module vlib/strconv | |
./v build-module vlib/time | |
./v build-module vlib/term | |
./v build-module vlib/math | |
./v build-module vlib/strings | |
./v build-module vlib/v/token | |
./v build-module vlib/v/ast | |
./v build-module vlib/v/parser | |
./v build-module vlib/v/gen/c | |
./v build-module vlib/v/depgraph | |
./v build-module vlib/os/cmdline | |
- name: native machine code generation | |
run: | | |
exit | |
./v -o vprod -prod cmd/v | |
cd cmd/tools | |
echo "Generating a 1m line V file..." | |
../../vprod gen1m.v | |
./gen1m > 1m.v | |
echo "Building it..." | |
../../vprod -backend native -o 1m 1m.v | |
echo "Running it..." | |
ls | |
# ./1m | |
# run: echo "TODO" #cd examples/native && ../../v -native hello_world.v && ./hello_world | |
# - name: Coveralls GitHub Action | |
# uses: coverallsapp/github-action@v1.0.1 | |
# with: | |
# github-token: ${{ secrets.GITHUB_TOKEN }} | |
ubuntu-clang: | |
runs-on: ubuntu-20.04 | |
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v' | |
timeout-minutes: 121 | |
env: | |
VFLAGS: -cc clang | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v1 | |
with: | |
node-version: 12.x | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install --quiet -y postgresql libpq-dev libssl-dev sqlite3 libsqlite3-dev valgrind | |
sudo apt-get install --quiet -y libfreetype6-dev libxi-dev libxcursor-dev libgl-dev | |
sudo apt-get install --quiet -y clang | |
- name: Build V | |
run: make -j4 && ./v -cc clang -cg -cstrict -o v cmd/v | |
- name: Valgrind | |
run: valgrind --error-exitcode=1 ./v -o v.c cmd/v | |
- name: Run sanitizers | |
run: | | |
./v -o v2 cmd/v -cflags -fsanitize=memory | |
./v -o v3 cmd/v -cflags -fsanitize=thread | |
./v -o v4 cmd/v -cflags -fsanitize=undefined | |
./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 ./v3 -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 | |
- name: v self compilation | |
run: ./v -o v2 cmd/v && ./v2 -o v3 cmd/v && ./v3 -o v4 cmd/v | |
- name: v self compilation with -usecache | |
run: | | |
unset VFLAGS | |
./v -usecache examples/hello_world.v && examples/hello_world | |
./v -o v2 -usecache cmd/v | |
./v2 -o v3 -usecache cmd/v | |
./v3 version | |
./v3 -o tetris -usecache examples/tetris/tetris.v | |
- 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: All code is formatted | |
run: ./v test-cleancode | |
- name: Self tests | |
run: ./v test-self | |
- name: Self tests (vprod) | |
run: | | |
./v -o vprod -prod cmd/v | |
./vprod test-self | |
- name: Self tests (-cstrict) | |
run: VTEST_JUST_ESSENTIAL=1 V_CI_CSTRICT=1 ./vprod -cstrict test-self | |
- name: Build examples | |
run: ./v build-examples | |
- name: Build examples with -autofree | |
run: | | |
./v -autofree -experimental -o tetris examples/tetris/tetris.v | |
- name: Build modules | |
run: | | |
./v build-module vlib/os | |
./v build-module vlib/builtin | |
./v build-module vlib/strconv | |
./v build-module vlib/time | |
./v build-module vlib/term | |
./v build-module vlib/math | |
./v build-module vlib/strings | |
./v build-module vlib/v/token | |
./v build-module vlib/v/ast | |
./v build-module vlib/v/parser | |
./v build-module vlib/v/gen/c | |
./v build-module vlib/v/depgraph | |
./v build-module vlib/os/cmdline | |
- name: native machine code generation | |
run: | | |
exit | |
./v -o vprod -prod cmd/v | |
cd cmd/tools | |
echo "Generating a 1m line V file..." | |
../../vprod gen1m.v | |
./gen1m > 1m.v | |
echo "Building it..." | |
../../vprod -backend native -o 1m 1m.v | |
echo "Running it..." | |
ls | |
windows-gcc: | |
runs-on: windows-2019 | |
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v' | |
timeout-minutes: 121 | |
env: | |
VFLAGS: -cc gcc | |
VERBOSE_MAKE: 1 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v1 | |
with: | |
node-version: 12.x | |
- name: Build | |
run: | | |
gcc --version | |
.\make.bat -gcc | |
- name: Test new v.c | |
run: | | |
.\v.exe -o v.c cmd/v | |
gcc -Werror -municode -w v.c | |
- name: Install dependencies | |
run: | | |
.\v.exe 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: All code is formatted | |
run: ./v test-cleancode | |
- name: Self tests | |
run: .\v.exe test-self | |
# - name: Test | |
# run: .\v.exe test-all | |
- name: Test time functions in a timezone UTC-12 | |
run: | | |
tzutil /s "Dateline Standard Time" | |
./v test vlib/time/ | |
- name: Test time functions in a timezone UTC-3 | |
run: | | |
tzutil /s "Greenland Standard Time" | |
./v test vlib/time/ | |
- name: Test time functions in a timezone UTC+3 | |
run: | | |
tzutil /s "Russian Standard Time" | |
./v test vlib/time/ | |
- name: Test time functions in a timezone UTC+12 | |
run: | | |
tzutil /s "New Zealand Standard Time" | |
./v test vlib/time/ | |
- name: Test v->js | |
run: ./v -o hi.js examples/hello_v_js.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.exe -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v | |
windows-msvc: | |
runs-on: windows-2019 | |
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v' | |
timeout-minutes: 121 | |
env: | |
VFLAGS: -cc msvc | |
VERBOSE_MAKE: 1 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v1 | |
with: | |
node-version: 12.x | |
- name: Build | |
run: | | |
echo %VFLAGS% | |
echo $VFLAGS | |
.\make.bat -msvc | |
.\v.exe -cflags /WX self | |
- name: Install dependencies | |
run: | | |
.\v.exe 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 | |
### TODO: test-cleancode fails with msvc. Investigate why??? | |
## - name: All code is formatted | |
## run: ./v test-cleancode | |
- name: Self tests | |
run: | | |
./v -cg cmd\tools\vtest-self.v | |
./v test-self | |
# - name: Test | |
# run: .\v.exe test-all | |
- name: Test v->js | |
run: ./v -o hi.js examples/hello_v_js.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.exe -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v | |
windows-tcc: | |
runs-on: windows-2019 | |
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v' | |
timeout-minutes: 121 | |
env: | |
VFLAGS: -cc tcc -no-retry-compilation | |
VJOBS: 1 | |
VTEST_SHOW_START: 1 | |
VERBOSE_MAKE: 1 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v1 | |
with: | |
node-version: 12.x | |
- name: Build with make.bat -tcc | |
run: | | |
.\make.bat -tcc | |
- name: Test new v.c | |
run: | | |
.\v.exe -o v.c cmd/v | |
.\thirdparty\tcc\tcc.exe -Werror -w -ladvapi32 -bt10 v.c | |
- name: Install dependencies | |
run: | | |
.\v.exe setup-freetype | |
.\.github\workflows\windows-install-sqlite.bat | |
- name: v doctor | |
run: | | |
./v doctor | |
- name: Verify `v test` works | |
run: | | |
.\v.exe 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.exe 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: All code is formatted | |
run: ./v test-cleancode | |
- name: Self tests | |
run: ./v test-self | |
- name: Test v->js | |
run: ./v -o hi.js examples/hello_v_js.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.exe -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.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 | |
## ## tcc32 | |
## - name: Build with make.bat -tcc32 | |
## run: | | |
## Remove-Item -Recurse -Force .\thirdparty\tcc | |
## .\v.exe wipe-cache | |
## .\make.bat -tcc32 | |
## - name: Test new v.c | |
## run: .\v.exe -o v.c cmd/v && .\thirdparty\tcc\tcc.exe -Werror -g -w -ladvapi32 -bt10 v.c | |
## - name: v doctor | |
## run: ./v doctor | |
## | |
## - name: Verify `v test` works | |
## run: | | |
## .\v.exe 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.exe 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 | |
## - name: Test v->js | |
## run: ./v -o hi.js examples/hello_v_js.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.exe -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v | |
# ubuntu-autofree-selfcompile: | |
# runs-on: ubuntu-20.04 | |
# if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v' | |
# timeout-minutes: 121 | |
# env: | |
# VFLAGS: -cc gcc | |
# steps: | |
# - uses: actions/checkout@v2 | |
# - name: Build V | |
# run: make -j4 | |
# - 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 | |
# ubuntu-musl: | |
# runs-on: ubuntu-20.04 | |
# if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v' | |
# timeout-minutes: 121 | |
# env: | |
# VFLAGS: -cc musl-gcc | |
# V_CI_MUSL: 1 | |
# steps: | |
# - uses: actions/checkout@v2 | |
# - uses: actions/setup-node@v1 | |
# with: | |
# node-version: 12.x | |
# - name: Install dependencies | |
# run: | | |
# sudo apt-get install --quiet -y musl musl-tools libssl-dev sqlite3 libsqlite3-dev valgrind | |
# - name: Build v | |
# run: echo $VFLAGS && make -j4 && ./v -cg -o v cmd/v | |
# # - name: Test v binaries | |
# # run: ./v build-vbinaries | |
# ## - name: Test v->js | |
# ## run: ./v -o hi.js examples/hello_v_js.v && node hi.js | |
# - name: quick debug | |
# run: ./v -stats vlib/strconv/format_test.v | |
# - name: Self tests | |
# run: ./v test-self |