ci: replace .github/workflows/retry.sh usages in the CI with the shorter v retry --, move v test-cleancode upwards to save time for unformatted PRs (#21452)

This commit is contained in:
Delyan Angelov 2024-05-07 19:34:40 +03:00 committed by GitHub
parent 6cda618ead
commit 5e7d8cd99a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 210 additions and 199 deletions

View file

@ -21,11 +21,11 @@ mkdir -p $BUILD
cd $BUILD
echo "Clone current Vinix"
.github/workflows/retry.sh git clone https://github.com/vlang/vinix.git --depth=1
./v retry -- git clone https://github.com/vlang/vinix.git --depth=1
cd $BUILD
echo "Clone current mlibc"
.github/workflows/retry.sh git clone https://github.com/managarm/mlibc.git --depth=1
./v retry -- git clone https://github.com/managarm/mlibc.git --depth=1
cd $BUILD
echo "Patch mlibc for Vinix"

View file

@ -37,22 +37,22 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Build V
run: make && ./v symlink -githubci
run: make -j4 && ./v symlink -githubci
- name: Install C2V
run: |
.github/workflows/retry.sh v install --git https://github.com/vlang/c2v
v retry -- v install --git https://github.com/vlang/c2v
v -g ~/.vmodules/c2v/ || true
- name: Install dependencies
run: |
if [ "${{ runner.os }}" == "Linux" ]; then
.github/workflows/retry.sh sudo apt update -y -qq
.github/workflows/retry.sh sudo apt install libsdl2-dev libsdl2-mixer-dev libsdl2-net-dev libpng-dev libsamplerate0-dev
v retry -- sudo apt update -y -qq
v retry -- sudo apt install libsdl2-dev libsdl2-mixer-dev libsdl2-net-dev libpng-dev libsamplerate0-dev
else
.github/workflows/retry.sh brew install sdl2 sdl2_mixer sdl2_net libpng libsamplerate
v retry -- brew install sdl2 sdl2_mixer sdl2_net libpng libsamplerate
fi
- name: Build original Chocolate Doom
run: |
.github/workflows/retry.sh git clone --quiet --depth 1 https://github.com/vlang/doom ~/code/doom
v retry -- git clone --quiet --depth 1 https://github.com/vlang/doom ~/code/doom
cd ~/code/doom/chocolate-doom
cmake -DCMAKE_BUILD_TYPE=Debug .
make chocolate-doom
@ -72,15 +72,15 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Build V
run: make && ./v symlink -githubci
run: make -j4 && ./v symlink -githubci
- name: Install C2V
run: |
.github/workflows/retry.sh v install --git https://github.com/vlang/c2v
v retry -- v install --git https://github.com/vlang/c2v
v -g ~/.vmodules/c2v/ || true
- name: Install dependencies
run: |
.github/workflows/retry.sh sudo apt update -y -qq
.github/workflows/retry.sh sudo apt install libsdl2-dev libsdl2-mixer-dev libsdl2-net-dev libpng-dev libsamplerate0-dev
v retry -- sudo apt update -y -qq
v retry -- sudo apt install libsdl2-dev libsdl2-mixer-dev libsdl2-net-dev libpng-dev libsamplerate0-dev
# c2v / DOOM dependencies
# vgret dependencies
# imagemagick : convert, mogrify, import
@ -88,19 +88,19 @@ jobs:
# openimageio-tools : idiff
# libgl1-mesa-dri : For headless rendering / software DRI driver (LIBGL_ALWAYS_SOFTWARE=true)
# freeglut3-dev : Fixes graphic apps compilation with tcc
.github/workflows/retry.sh sudo apt install imagemagick openimageio-tools freeglut3-dev libgl1-mesa-dri xvfb xsel xclip
v retry -- sudo apt install imagemagick openimageio-tools freeglut3-dev libgl1-mesa-dri xvfb xsel xclip
- name: Setup test tools
run: |
# Fetch the free ~4MB DOOM1.WAD from the link at https://doomwiki.org/wiki/DOOM1.WAD
.github/workflows/retry.sh wget https://distro.ibiblio.org/slitaz/sources/packages/d/doom1.wad -O ~/doom1.wad
v retry -- wget https://distro.ibiblio.org/slitaz/sources/packages/d/doom1.wad -O ~/doom1.wad
# Get imgur upload script
.github/workflows/retry.sh wget https://raw.githubusercontent.com/tremby/imgur.sh/c98345d/imgur.sh
v retry -- wget https://raw.githubusercontent.com/tremby/imgur.sh/c98345d/imgur.sh
chmod +x ./imgur.sh
# Get regression images to test against
.github/workflows/retry.sh git clone https://github.com/Larpon/doom-regression-images
v retry -- git clone https://github.com/Larpon/doom-regression-images
- name: Build original Chocolate Doom
run: |
.github/workflows/retry.sh git clone --quiet --depth 1 https://github.com/vlang/doom ~/code/doom
v retry -- git clone --quiet --depth 1 https://github.com/vlang/doom ~/code/doom
cd ~/code/doom/chocolate-doom
cmake -DCMAKE_BUILD_TYPE=Debug .
make chocolate-doom

View file

@ -30,15 +30,14 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 10
- name: Build V
run: make -j4 && ./v symlink -githubci
- name: Install dependencies
run: |
.github/workflows/retry.sh brew install mingw-w64
./v retry -- brew install mingw-w64
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/opt/openssl/lib/"
- name: Build V
run: make
- name: Test symlink
run: ./v symlink
@ -61,20 +60,20 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 10
- name: Build v
run: make -j4 && ./v symlink -githubci
- name: Install dependencies
run: |
## sudo dpkg --add-architecture i386
.github/workflows/retry.sh sudo apt update
.github/workflows/retry.sh sudo apt install --quiet -y libssl-dev sqlite3 libsqlite3-dev
.github/workflows/retry.sh sudo apt install --quiet -y mingw-w64 wine-stable winetricks
## .github/workflows/retry.sh sudo apt install --quiet -y wine32
./v retry -- sudo apt update
./v retry -- sudo apt install --quiet -y libssl-dev sqlite3 libsqlite3-dev
./v retry -- sudo apt install --quiet -y mingw-w64 wine-stable winetricks
## ./v retry -- sudo apt install --quiet -y wine32
- name: Turn off the wine crash dialog
run: winetricks nocrashdialog
- name: Build v
run: make
- name: v.c can be compiled and run with -os cross
run: |
./v -os cross -o /tmp/v.c cmd/v

View file

@ -4,13 +4,13 @@ set -ex
rm -rf vlib/toml/tests/testdata/burntsushi vlib/toml/tests/testdata/iarna vlib/toml/tests/testdata/alexcrichton vlib/toml/tests/testdata/large_toml_file_test.toml
.github/workflows/retry.sh wget https://gist.githubusercontent.com/Larpon/89b0e3d94c6903851ff15559e5df7a05/raw/62a1f87a4e37bf157f2e0bfb32d85d840c98e422/large_toml_file_test.toml -O vlib/toml/tests/testdata/large_toml_file_test.toml
./v retry -- wget https://gist.githubusercontent.com/Larpon/89b0e3d94c6903851ff15559e5df7a05/raw/62a1f87a4e37bf157f2e0bfb32d85d840c98e422/large_toml_file_test.toml -O vlib/toml/tests/testdata/large_toml_file_test.toml
.github/workflows/retry.sh git clone -n https://github.com/iarna/toml-spec-tests.git vlib/toml/tests/testdata/iarna
./v retry -- git clone -n https://github.com/iarna/toml-spec-tests.git vlib/toml/tests/testdata/iarna
git -C vlib/toml/tests/testdata/iarna checkout 1880b1a
.github/workflows/retry.sh git clone -n https://github.com/toml-lang/toml-test.git vlib/toml/tests/testdata/burntsushi
./v retry -- git clone -n https://github.com/toml-lang/toml-test.git vlib/toml/tests/testdata/burntsushi
git -C vlib/toml/tests/testdata/burntsushi checkout f30c716
.github/workflows/retry.sh git clone -n https://github.com/toml-rs/toml.git vlib/toml/tests/testdata/alexcrichton
./v retry -- git clone -n https://github.com/toml-rs/toml.git vlib/toml/tests/testdata/alexcrichton
git -C vlib/toml/tests/testdata/alexcrichton reset --hard 499e8c4

View file

@ -34,7 +34,7 @@ jobs:
uses: actions/checkout@v4
- name: Build local v
run: make
run: make -j4 && ./v symlink -githubci
- name: Setup dependencies
run: |
@ -44,10 +44,10 @@ jobs:
# libxcursor-dev libxi-dev : V gfx deps
# libgl1-mesa-dri : For headless rendering / software DRI driver (LIBGL_ALWAYS_SOFTWARE=true)
# freeglut3-dev : Fixes graphic apps compilation with tcc
.github/workflows/retry.sh sudo apt update
.github/workflows/retry.sh sudo apt install imagemagick openimageio-tools libgl1-mesa-dri xvfb libxcursor-dev libxi-dev freeglut3-dev xsel xclip
.github/workflows/retry.sh wget https://raw.githubusercontent.com/tremby/imgur.sh/c98345d/imgur.sh
.github/workflows/retry.sh git clone https://github.com/Larpon/gg-regression-images gg-regression-images
./v retry -- sudo apt update
./v retry -- sudo apt install imagemagick openimageio-tools libgl1-mesa-dri xvfb libxcursor-dev libxi-dev freeglut3-dev xsel xclip
./v retry -- wget https://raw.githubusercontent.com/tremby/imgur.sh/c98345d/imgur.sh
./v retry -- git clone https://github.com/Larpon/gg-regression-images gg-regression-images
chmod +x ./imgur.sh
- name: Sample and compare

View file

@ -28,25 +28,26 @@ jobs:
VFLAGS: -cc tcc -no-retry-compilation
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
.github/workflows/retry.sh sudo apt update
.github/workflows/retry.sh sudo apt install --quiet -y libssl-dev sqlite3 libsqlite3-dev valgrind
.github/workflows/retry.sh sudo apt install --quiet -y libfreetype6-dev libxi-dev libxcursor-dev libgl-dev
# The following is needed for examples/wkhtmltopdf.v
.github/workflows/retry.sh wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb
.github/workflows/retry.sh sudo apt install --quiet -y xfonts-75dpi xfonts-base
.github/workflows/retry.sh sudo apt install --quiet -y expect
.github/workflows/retry.sh sudo dpkg -i wkhtmltox_0.12.6-1.focal_amd64.deb
- name: Build v
run: |
echo $VFLAGS
make
./v test-cleancode
make -j4 && ./v symlink -githubci
./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: All code is formatted
run: ./v test-cleancode
- name: Install dependencies for examples and tools
run: |
./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 libfreetype6-dev libxi-dev libxcursor-dev libgl-dev
# 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 -- sudo apt install --quiet -y xfonts-75dpi xfonts-base
./v retry -- sudo apt install --quiet -y expect
./v retry -- sudo dpkg -i wkhtmltox_0.12.6-1.focal_amd64.deb
- name: Test v->c
run: |
thirdparty/tcc/tcc.exe -version
@ -63,8 +64,6 @@ jobs:
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: Test pure V math module
run: ./v -exclude @vlib/math/*.c.v test vlib/math/
- name: Self tests
@ -115,13 +114,17 @@ jobs:
timeout-minutes: 121
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
.github/workflows/retry.sh sudo apt update
.github/workflows/retry.sh sudo apt install --quiet -y postgresql libpq-dev libssl-dev sqlite3 libsqlite3-dev valgrind
.github/workflows/retry.sh sudo apt 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
run: make -j4 && ./v symlink -githubci
- name: All code is formatted
run: ./v test-cleancode
- name: Install dependencies for examples and tools
run: |
./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 libfreetype6-dev libxi-dev libxcursor-dev libgl-dev
- name: Recompile V with -cstrict and gcc
run: 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
@ -137,7 +140,7 @@ jobs:
# - name: Test v->js
# run: ./v -o hi.js examples/hello_v_js.v && node hi.js
# - name: Build Vorum
# run: .github/workflows/retry.sh 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
run: ./v -freestanding run vlib/os/bare/bare_example_linux.v
- name: V self compilation
@ -155,8 +158,6 @@ jobs:
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: Test pure V math module
run: ./v -exclude @vlib/math/*.c.v test vlib/math/
- name: Self tests
@ -221,14 +222,18 @@ jobs:
VFLAGS: -cc clang
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
.github/workflows/retry.sh sudo apt update
.github/workflows/retry.sh sudo apt install --quiet -y postgresql libpq-dev libssl-dev sqlite3 libsqlite3-dev valgrind
.github/workflows/retry.sh sudo apt install --quiet -y libfreetype6-dev libxi-dev libxcursor-dev libgl-dev
.github/workflows/retry.sh sudo apt install --quiet -y clang
- name: Build V
run: make -j4 && ./v -cc clang -cg -cstrict -o v cmd/v
run: make -j4 && ./v symlink -githubci
- name: All code is formatted
run: ./v test-cleancode
- name: Install dependencies for examples and tools
run: |
./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 libfreetype6-dev libxi-dev libxcursor-dev libgl-dev
./v retry -- sudo apt install --quiet -y clang
- name: Recompile V with -cstrict and clang
run: 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
@ -256,8 +261,6 @@ jobs:
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: Test pure V math module
run: ./v -exclude @vlib/math/*.c.v test vlib/math/
@ -322,12 +325,13 @@ jobs:
# VFLAGS: -cc musl-gcc
# V_CI_MUSL: 1
# steps:
# - uses: actions/checkout@v4
# - name: Install dependencies
# run: |
# .github/workflows/retry.sh sudo apt 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
# run: echo $VFLAGS && make -j4 && ./v symlink -githubci
# - uses: actions/checkout@v4
# - name: Install dependencies for examples and tools
# run: ./v retry -- sudo apt install --quiet -y musl musl-tools libssl-dev sqlite3 libsqlite3-dev valgrind
# - name: Recompile V with -cg
# run: ./v -cg -o v cmd/v
# # - name: Test v binaries
# # run: ./v -N -W build-vbinaries
# # - name: Test v->js

View file

@ -33,14 +33,16 @@ jobs:
PKG_CONFIG_PATH: /usr/local/opt/pkgconfig:/usr/local/opt/libpq/lib/pkgconfig:/usr/local/opt/openssl@3/lib/pkgconfig:/opt/homebrew/lib/pkgconfig:/opt/homebrew/opt/libpq/lib/pkgconfig:/opt/homebrew/opt/openssl@3/lib/pkgconfig
steps:
- uses: actions/checkout@v4
- name: Build V
run: make -j4 && ./v symlink -githubci && ./v -cg -cstrict -o v cmd/v
- name: All code is formatted
run: VJOBS=1 ./v test-cleancode
- name: Install dependencies
run: |
echo "PKG_CONFIG_PATH is '$PKG_CONFIG_PATH'"
.github/workflows/retry.sh brew install libpq openssl mercurial
./v retry -- brew install libpq openssl mercurial
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/opt/openssl/lib/"
echo "LIBRARY_PATH is '$LIBRARY_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
@ -66,8 +68,6 @@ jobs:
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: Test pure V math module
run: ./v -exclude @vlib/math/*.c.v test vlib/math/
- name: Self tests
@ -86,14 +86,14 @@ jobs:
./v doctor
- name: Test ved
run: |
.github/workflows/retry.sh 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 .
../v -autofree .
../v -prod .
cd ..
- name: Build V UI examples
run: |
.github/workflows/retry.sh git clone --depth 1 https://github.com/vlang/ui
./v retry -- git clone --depth 1 https://github.com/vlang/ui
cd ui
mkdir -p ~/.vmodules
ln -s $(pwd) ~/.vmodules/ui

View file

@ -56,15 +56,15 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install linker
if: runner.os == 'Linux'
run: .github/workflows/retry.sh sudo apt -qq install binutils
- name: Build V
if: runner.os != 'Windows'
run: make -j4 && ./v symlink -githubci
- name: Build V (Windows)
if: runner.os == 'Windows'
run: ./make.bat && ./v symlink -githubci
- name: Install linker
if: runner.os == 'Linux'
run: v retry -- sudo apt -qq install binutils
- name: Run the native backend tests serially with more details
run: |
v vlib/v/gen/native/macho_test.v

View file

@ -54,7 +54,7 @@ jobs:
- name: Environment info
run: echo $VFLAGS $GITHUB_SHA $GITHUB_REF
- name: Build local v
run: make -j4
run: make -j4 && ./v symlink -githubci
- name: v test-cleancode
run: ./v test-cleancode
- name: v test-fmt
@ -70,10 +70,10 @@ jobs:
- name: Environment info
run: echo $VFLAGS $GITHUB_SHA $GITHUB_REF
- name: Build local v
run: make -j4
run: make -j4 && ./v symlink -githubci
- name: Clone & Build previous vmaster/v
run: |
.github/workflows/retry.sh git clone --depth=1 https://github.com/vlang/v vmaster/
./v retry -- git clone --depth=1 https://github.com/vlang/v vmaster/
(cd vmaster; make -j4)
- name: V versions
run: ./v version && ./vmaster/v version
@ -93,16 +93,15 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 10
- name: Build v
run: make -j4 && ./v symlink -githubci
- name: Install dependencies
run: |
.github/workflows/retry.sh sudo apt update
.github/workflows/retry.sh sudo apt install --quiet -y libsodium-dev libssl-dev sqlite3 libsqlite3-dev postgresql libpq-dev valgrind
.github/workflows/retry.sh sudo apt install --quiet -y libfreetype6-dev libxi-dev libxcursor-dev libgl-dev xfonts-75dpi xfonts-base
.github/workflows/retry.sh sudo apt install --quiet -y g++-9 g++-11
- name: Build v
run: make
./v retry -- sudo apt update
./v retry -- sudo apt install --quiet -y libsodium-dev libssl-dev sqlite3 libsqlite3-dev postgresql libpq-dev valgrind
./v retry -- sudo apt install --quiet -y libfreetype6-dev libxi-dev libxcursor-dev libgl-dev xfonts-75dpi xfonts-base
./v retry -- sudo apt install --quiet -y g++-9 g++-11
- name: g++-9 version
run: g++-9 --version
@ -128,12 +127,12 @@ jobs:
timeout-minutes: 121
steps:
- uses: actions/checkout@v4
- name: Install zzuf
run: .github/workflows/retry.sh sudo apt install -qq zzuf
- name: Build local v
run: |
make -j4
make -j4 && ./v symlink -githubci
./v -g -d trace_parse_stmt cmd/tools/vtest-parser.v
- name: Install zzuf
run: ./v retry -- sudo apt install -qq zzuf
- name: Run test-parser
run: |
./v test-parser --show_source --linear examples/hello_world.v

View file

@ -81,16 +81,18 @@ jobs:
VTEST_SHOW_START: 1
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
.github/workflows/retry.sh sudo apt update
.github/workflows/retry.sh sudo apt install --quiet -y postgresql libpq-dev libssl-dev sqlite3 libsqlite3-dev valgrind
.github/workflows/retry.sh sudo apt install --quiet -y libfreetype6-dev libxi-dev libxcursor-dev libgl-dev
.github/workflows/retry.sh sudo apt install clang
- name: Build V
run: make && ./v -cg -cstrict -o v cmd/v
run: make -j4 && ./v symlink -githubci
- name: Ensure code is well formatted
run: ./v test-cleancode
- name: Install dependencies
run: |
./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 libfreetype6-dev libxi-dev libxcursor-dev libgl-dev
./v retry -- sudo apt install clang
- name: Recompile V with -cstrict
run: ./v -cg -cstrict -o v cmd/v
- name: Self tests (-fsanitize=undefined)
run: ./v -cflags "-fsanitize=undefined" -o v2 cmd/v && ./v2 -cflags -fsanitize=undefined test-self vlib
- name: Build examples (V compiled with -fsanitize=undefined)
@ -105,15 +107,17 @@ jobs:
VTEST_SHOW_START: 1
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
.github/workflows/retry.sh sudo apt update
.github/workflows/retry.sh sudo apt install --quiet -y postgresql libpq-dev libssl-dev sqlite3 libsqlite3-dev valgrind
.github/workflows/retry.sh sudo apt install --quiet -y libfreetype6-dev libxi-dev libxcursor-dev libgl-dev
- name: Build V
run: make && ./v -cg -cstrict -o v cmd/v
run: make -j4 && ./v symlink -githubci
- name: Ensure code is well formatted
run: ./v test-cleancode
- name: Install dependencies
run: |
./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 libfreetype6-dev libxi-dev libxcursor-dev libgl-dev
- name: Recompile V with -cstrict
run: ./v -cg -cstrict -o v cmd/v
- name: Self tests (-fsanitize=undefined)
run: ./v -cflags "-fsanitize=undefined" -o v2 cmd/v && ./v2 -cflags -fsanitize=undefined test-self vlib
- name: Build examples (V compiled with -fsanitize=undefined)
@ -128,16 +132,18 @@ jobs:
VTEST_SHOW_START: 1
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
.github/workflows/retry.sh sudo apt update
.github/workflows/retry.sh sudo apt install --quiet -y postgresql libpq-dev libssl-dev sqlite3 libsqlite3-dev valgrind
.github/workflows/retry.sh sudo apt install --quiet -y libfreetype6-dev libxi-dev libxcursor-dev libgl-dev
.github/workflows/retry.sh sudo apt install clang
- name: Build V
run: make && ./v -cg -cstrict -o v cmd/v
run: make -j4 && ./v symlink -githubci
- name: Ensure code is well formatted
run: ./v test-cleancode
- name: Install dependencies
run: |
./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 libfreetype6-dev libxi-dev libxcursor-dev libgl-dev
./v retry -- sudo apt install clang
- name: Recompile V with -cstrict
run: ./v -cg -cstrict -o v cmd/v
- name: Self tests (-fsanitize=address)
run: ASAN_OPTIONS=detect_leaks=0 ./v -cflags "-fsanitize=address,pointer-compare,pointer-subtract" test-self vlib
- name: Self tests (V compiled with -fsanitize=address)
@ -164,12 +170,12 @@ jobs:
.\v.exe self
- name: Ensure code is well formatted
run: .\v.exe test-cleancode
# - name: Install dependencies
# run: |
# .\v.exe setup-freetype
# .\.github\workflows\windows-install-sqlite.bat
# - name: Self tests (/fsanitize=address) # TODO:
# run: .\v.exe -cflags "/fsanitize=address" test-self vlib
# - name: Install dependencies
# run: |
# .\v.exe setup-freetype
# .\.github\workflows\windows-install-sqlite.bat
# - name: Self tests (/fsanitize=address) # TODO:
# run: .\v.exe -cflags "/fsanitize=address" test-self vlib
tests-sanitize-address-gcc:
runs-on: ubuntu-20.04
@ -180,16 +186,18 @@ jobs:
VTEST_SHOW_START: 1
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
.github/workflows/retry.sh sudo apt update
.github/workflows/retry.sh sudo apt install --quiet -y postgresql libpq-dev libssl-dev sqlite3 libsqlite3-dev valgrind
.github/workflows/retry.sh sudo apt install --quiet -y libfreetype6-dev libxi-dev libxcursor-dev libgl-dev
.github/workflows/retry.sh sudo apt install clang
- name: Build V
run: make && ./v -cg -cstrict -o v cmd/v
run: make -j4 && ./v symlink -githubci
- name: Ensure code is well formatted
run: ./v test-cleancode
- name: Install dependencies
run: |
./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 libfreetype6-dev libxi-dev libxcursor-dev libgl-dev
./v retry -- sudo apt install clang
- name: Recompile V with -cstrict
run: ./v -cg -cstrict -o v cmd/v
- name: Self tests (-fsanitize=address)
run: ASAN_OPTIONS=detect_leaks=0 ./v -cflags -fsanitize=address test-self vlib
- name: Self tests (V compiled with -fsanitize=address)
@ -208,16 +216,18 @@ jobs:
VTEST_SHOW_START: 1
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
.github/workflows/retry.sh sudo apt update
.github/workflows/retry.sh sudo apt install --quiet -y postgresql libpq-dev libssl-dev sqlite3 libsqlite3-dev valgrind
.github/workflows/retry.sh sudo apt install --quiet -y libfreetype6-dev libxi-dev libxcursor-dev libgl-dev
.github/workflows/retry.sh sudo apt install clang
- name: Build V
run: make && ./v -cc clang -cg -cstrict -o v cmd/v
run: make -j4 && ./v symlink -githubci
- name: Ensure code is well formatted
run: ./v test-cleancode
- name: Install dependencies
run: |
./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 libfreetype6-dev libxi-dev libxcursor-dev libgl-dev
./v retry -- sudo apt install clang
- name: Recompile V with clang and -cstrict
run: ./v -cc clang -cg -cstrict -o v cmd/v
- name: Self tests (-fsanitize=memory)
run: ./v -cflags -fsanitize=memory test-self vlib
- name: Self tests (V compiled with -fsanitize=memory)

View file

@ -22,12 +22,12 @@ jobs:
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- name: Build V
run: make -j4 && ./v symlink -githubci
- name: Install dependencies
run: |
.github/workflows/retry.sh sudo apt update
.github/workflows/retry.sh sudo apt install --quiet -y jq libgc-dev
- name: Build V
run: make
v retry -- sudo apt update
v retry -- sudo apt install --quiet -y jq libgc-dev
- name: Show JQ Version
run: jq --version

View file

@ -35,11 +35,11 @@ jobs:
- uses: actions/checkout@v4
- name: Build V
run: make && sudo ./v symlink
run: make -j4 && ./v symlink -githubci
- name: Install vab
run: |
.github/workflows/retry.sh v install vab
v retry -- v install vab
v -g ~/.vmodules/vab
sudo ln -s ~/.vmodules/vab/vab /usr/local/bin/vab
@ -70,11 +70,11 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Build V
run: make && sudo ./v symlink
run: make -j4 && ./v symlink -githubci
- name: Install vab
run: |
.github/workflows/retry.sh v install vab
v retry -- v install vab
v -g ~/.vmodules/vab
sudo ln -s ~/.vmodules/vab/vab /usr/local/bin/vab

View file

@ -23,17 +23,16 @@ jobs:
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- name: Build V
run: make -j4 && ./v symlink -githubci
- name: Install dependencies
run: |
.github/workflows/retry.sh sudo apt update
.github/workflows/retry.sh sudo apt install build-essential meson -y
- name: Build V
run: make && ./v symlink -githubci
./v retry -- sudo apt update
./v retry -- sudo apt install build-essential meson -y
- name: Clone current Vinix
run: .github/workflows/retry.sh git clone https://github.com/vlang/vinix.git
run: ./v retry -- git clone https://github.com/vlang/vinix.git
- name: Download Vinix kernel dependencies
run: cd vinix/kernel && ./get-deps

View file

@ -28,14 +28,14 @@ jobs:
VFLAGS: -cc tcc -no-retry-compilation
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: .github/workflows/retry.sh sudo apt install --quiet -y libssl-dev
- name: Build v
run: |
echo $VFLAGS
sudo ln -s $PWD/thirdparty/tcc/tcc.exe /usr/local/bin/tcc ## TODO: remove
make -j4
make -j4 && ./v symlink -githubci
./v -g -o v cmd/v
- name: Install dependencies
run: v retry -- sudo apt install --quiet -y libssl-dev
- name: v doctor
run: ./v doctor
- name: Run websockets tests

View file

@ -33,6 +33,8 @@ jobs:
run: |
gcc --version
.\make.bat -gcc
- name: All code is formatted
run: ./v test-cleancode
- name: Test new v.c
run: |
.\v.exe -o v.c cmd/v
@ -49,8 +51,6 @@ jobs:
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: Test pure V math module
run: ./v -exclude @vlib/math/*.c.v test vlib/math/
- name: Self tests
@ -86,6 +86,8 @@ jobs:
echo $VFLAGS
.\make.bat -msvc
.\v.exe -cflags /WX self
- name: All code is formatted
run: ./v test-cleancode
- name: Install dependencies
run: |
.\v.exe setup-freetype
@ -98,8 +100,6 @@ jobs:
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: Test pure V math module
run: ./v -exclude @vlib/math/*.c.v test vlib/math/
- name: Self tests
@ -130,6 +130,8 @@ jobs:
- name: Build with make.bat -tcc
run: |
.\make.bat -tcc
- name: All code is formatted
run: ./v test-cleancode
- name: Test new v.c
run: |
.\v.exe -o v.c cmd/v
@ -153,8 +155,6 @@ jobs:
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: Test pure V math module
run: ./v -exclude @vlib/math/*.c.v test vlib/math/
- name: Self tests
@ -170,42 +170,42 @@ jobs:
- 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 -lws2_32 -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 vlib
# - 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
## 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 -lws2_32 -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 vlib
# - 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