builtin: add gc_collect/0, gc_get_warn_proc/0, gc_set_warn_proc/1. Us… #82
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: V Apps and Modules | |
on: | |
push: | |
paths-ignore: | |
- "**.md" | |
pull_request: | |
paths-ignore: | |
- "**.md" | |
jobs: | |
v-apps-compile: | |
runs-on: ubuntu-latest | |
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@v4 | |
- name: Build V | |
run: make && sudo ./v symlink | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install --quiet -y libgc-dev libsodium-dev libssl-dev sqlite3 libsqlite3-dev libfreetype6-dev libxi-dev libxcursor-dev libgl-dev xfonts-75dpi xfonts-base | |
sudo apt-get install --quiet -y --no-install-recommends sassc libgit2-dev ## needed by gitly | |
- name: Test vsql compilation and examples | |
run: | | |
echo "Install vsql" | |
v install elliotchance.vsql ; cd ~/.vmodules/elliotchance/vsql | |
echo "Generate vsql/grammar.v" | |
make vsql/grammar.v | |
echo "Compile vsql" | |
v -o bin/vsql cmd/vsql | |
echo "Run examples" | |
make examples | |
echo "Run vsql/connection_test.v" | |
v vsql/connection_test.v | |
- name: Test discord.v | |
run: | | |
echo "Clone https://github.com/DarpHome/discord.v/" | |
git clone https://github.com/DarpHome/discord.v/ discord && cd discord | |
echo "Checkout last known good commit" | |
git checkout 65448b687ae759e385c127c8739b97b6ac62d3e3 | |
echo "Execute Tests" | |
v test . | |
- name: Build vlang/vab | |
run: | | |
echo "Install VAB" | |
v install vab | |
echo "Build vab" | |
v ~/.vmodules/vab | |
echo "Build vab with -gc boehm -skip-unused" | |
v -g -gc boehm -skip-unused ~/.vmodules/vab | |
- name: Build vlang/ved | |
run: | | |
git clone --depth 1 https://github.com/vlang/ved | |
cd ved && ../v -o ved . | |
../v -autofree . | |
../v -prod . | |
cd .. | |
- name: Build vlang/pdf | |
run: | | |
v install pdf | |
echo "PDF examples should compile" | |
v should-compile-all ~/.vmodules/pdf/examples | |
- name: Build vlang/libsodium | |
run: | | |
echo "Install the libsodium wrapper" | |
v install libsodium | |
echo "Test libsodium" | |
VJOBS=1 v test ~/.vmodules/libsodium | |
- name: Build vlang/coreutils | |
run: | | |
echo "Clone Coreutils" | |
git clone --depth 1 https://github.com/vlang/coreutils /tmp/coreutils | |
echo "Build Coreutils" | |
cd /tmp/coreutils; make | |
- name: Build vlang/gitly | |
run: | | |
echo "Install markdown" | |
v install markdown | |
echo "Install pcre" | |
v install pcre | |
echo "Clone Gitly" | |
git clone https://github.com/vlang/gitly /tmp/gitly | |
echo "Build Gitly" | |
v -cc gcc /tmp/gitly | |
## echo "Build Gitly with -autofree" | |
## v -cc gcc -autofree /tmp/gitly | |
echo "Compile gitly.css from gitly.scss" | |
sassc /tmp/gitly/src/static/css/gitly.scss > /tmp/gitly/src/static/css/gitly.css | |
# echo "Run first_run.v" | |
# v -cc gcc run /tmp/gitly/tests/first_run.v | |
# # /tmp/gitly/gitly -ci_run | |
- name: Build V Language Server (v-analyzer) v-analyzer/v-analyzer | |
run: | | |
echo "Clone v-analyzer" | |
git clone --depth=1 --recursive --shallow-submodules https://github.com/v-analyzer/v-analyzer /tmp/v-analyzer | |
cd /tmp/v-analyzer | |
echo "Installing dependencies" | |
v install | |
echo "Build v-analyzer debug" | |
v build.vsh debug | |
echo "Build v-analyzer release" | |
v build.vsh release | |
- name: Build vlang/go2v | |
run: | | |
echo "Clone Go2V" | |
git clone --depth=1 https://github.com/vlang/go2v /tmp/go2v/ | |
echo "Build Go2V" | |
v /tmp/go2v/ | |
echo "Run Go2V tests" | |
VJOBS=1 v -stats test /tmp/go2v/ | |
- name: Install UI through VPM and make sure its examples compile | |
run: | | |
echo "Official VPM modules should be installable" | |
v install ui | |
echo "Examples of UI should compile" | |
v ~/.vmodules/ui/examples/build_examples.vsh | |
- name: Build vlang/adventofcode | |
run: | | |
echo "Clone the AdventOfCode repo" | |
git clone --depth 1 https://github.com/vlang/adventofcode /tmp/adventofcode | |
echo "Install dependencies" | |
v install pcre | |
echo "Execute Tests" | |
cd /tmp/adventofcode && v run verify.v | |
- name: Build vlang/msgpack | |
run: | | |
echo "Install msgpack" | |
v install msgpack | |
echo "Build msgpack" | |
v -shared ~/.vmodules/msgpack/ | |
echo "Run msgpack tests" | |
v -stats test ~/.vmodules/msgpack/ | |
echo "MessagePack examples should compile" | |
v should-compile-all ~/.vmodules/msgpack/examples | |
# - name: Build VEX | |
# run: | | |
# echo "Install Vex" | |
# v install nedpals.vex | |
# echo "Compile all of the Vex examples" | |
# v should-compile-all ~/.vmodules/nedpals/vex/examples | |
# echo "Compile the simple Vex example with -skip-unused" | |
# v -skip-unused ~/.vmodules/nedpals/vex/examples/simple_example.v | |
# echo "Run Vex Tests" | |
# v test ~/.vmodules/nedpals/vex | |
vsl-and-vtl-compile: | |
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: -no-parallel | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build V | |
run: make && sudo ./v symlink | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install --quiet -y libgc-dev libsodium-dev libssl-dev sqlite3 libsqlite3-dev libfreetype6-dev libxi-dev libxcursor-dev libgl-dev xfonts-75dpi xfonts-base | |
sudo apt-get install --quiet -y --no-install-recommends gfortran liblapacke-dev libopenblas-dev ## for vsl/vtl | |
sudo apt-get install --quiet -y --no-install-recommends libhdf5-cpp-103 libhdf5-dev libhdf5-mpi-dev hdf5-tools libopenmpi-dev opencl-headers liblapacke-dev libopenblas-dev ## needed by VSL | |
- name: Build vlang/vsl | |
run: | | |
echo "Installing dependencies" | |
sudo apt-get install --quiet -y --no-install-recommends \ | |
gfortran \ | |
libxi-dev \ | |
libxcursor-dev \ | |
mesa-common-dev \ | |
liblapacke-dev \ | |
libopenblas-dev \ | |
libgc-dev \ | |
libgl1-mesa-dev \ | |
libopenmpi-dev \ | |
opencl-headers | |
echo "Install VSL" | |
v install vsl | |
echo "Execute Tests using Pure V Backend" | |
~/.vmodules/vsl/bin/test | |
echo "Execute Tests using Pure V Backend with Pure V Math" | |
~/.vmodules/vsl/bin/test --use-cblas | |
echo "Execute Tests using Pure V Backend and Garbage Collection enabled" | |
~/.vmodules/vsl/bin/test --use-gc boehm | |
echo "Execute Tests using Pure V Backend with Pure V Math and Garbage Collection enabled" | |
~/.vmodules/vsl/bin/test --use-cblas --use-gc boehm | |
- name: Build vlang/vtl | |
run: | | |
echo "Install VTL" | |
v install vtl | |
echo "Install dependencies" | |
echo "Execute Tests using Pure V Backend" | |
~/.vmodules/vtl/bin/test | |
echo "Execute Tests using Pure V Backend with Pure V Math" | |
~/.vmodules/vtl/bin/test --use-cblas | |
echo "Execute Tests using Pure V Backend and Garbage Collection enabled" | |
~/.vmodules/vtl/bin/test --use-gc boehm | |
echo "Execute Tests using Pure V Backend with Pure V Math and Garbage Collection enabled" | |
~/.vmodules/vtl/bin/test --use-cblas --use-gc boehm |