mirror of
https://github.com/vlang/v.git
synced 2025-09-13 14:32:26 +03:00
ci: update and cleanup the ci related code (#19541)
This commit is contained in:
parent
c4ee940047
commit
3e50ba0856
7 changed files with 186 additions and 191 deletions
|
@ -1,6 +1,6 @@
|
||||||
env:
|
env:
|
||||||
LANG: en_US.UTF-8
|
LANG: en_US.UTF-8
|
||||||
|
|
||||||
freebsd_instance:
|
freebsd_instance:
|
||||||
image_family: freebsd-13-0
|
image_family: freebsd-13-0
|
||||||
|
|
||||||
|
|
33
.github/workflows/code_ci.yml
vendored
Normal file
33
.github/workflows/code_ci.yml
vendored
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
name: Code CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
- '**.yml'
|
||||||
|
- '!**/code_ci.yml'
|
||||||
|
- '!**/linux_ci.yml'
|
||||||
|
- '!**/macos_ci.yml'
|
||||||
|
- '!**/windows_ci.yml'
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
- '**.yml'
|
||||||
|
- '!**/code_ci.yml'
|
||||||
|
- '!**/linux_ci.yml'
|
||||||
|
- '!**/macos_ci.yml'
|
||||||
|
- '!**/windows_ci.yml'
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: code-ci-${{ github.event.pull_request.number || github.sha }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
linux:
|
||||||
|
uses: ./.github/workflows/linux_ci.yml
|
||||||
|
|
||||||
|
macos:
|
||||||
|
uses: ./.github/workflows/macos_ci.yml
|
||||||
|
|
||||||
|
windows:
|
||||||
|
uses: ./.github/workflows/windows_ci.yml
|
128
.github/workflows/linux_ci.yml
vendored
128
.github/workflows/linux_ci.yml
vendored
|
@ -1,21 +1,10 @@
|
||||||
name: Code CI Linux
|
name: CI Linux
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
workflow_call:
|
||||||
paths-ignore:
|
|
||||||
- "**.md"
|
|
||||||
- "**.yml"
|
|
||||||
pull_request:
|
|
||||||
paths-ignore:
|
|
||||||
- "**.md"
|
|
||||||
- "**.yml"
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: build-ci-linux-${{ github.event.pull_request.number || github.sha }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
ubuntu-tcc:
|
tcc:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
|
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
|
||||||
timeout-minutes: 121
|
timeout-minutes: 121
|
||||||
|
@ -28,7 +17,7 @@ jobs:
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install --quiet -y libssl-dev sqlite3 libsqlite3-dev valgrind
|
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 libfreetype6-dev libxi-dev libxcursor-dev libgl-dev
|
||||||
## The following is needed for examples/wkhtmltopdf.v
|
# 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
|
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 apt-get install --quiet -y xfonts-75dpi xfonts-base
|
||||||
sudo apt-get install --quiet -y expect
|
sudo apt-get install --quiet -y expect
|
||||||
|
@ -46,7 +35,7 @@ jobs:
|
||||||
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
|
||||||
|
@ -103,7 +92,7 @@ jobs:
|
||||||
- name: Test readline
|
- name: Test readline
|
||||||
run: ./v test examples/readline/
|
run: ./v test examples/readline/
|
||||||
|
|
||||||
ubuntu-tcc-boehm-gc:
|
tcc-boehm-gc:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
|
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
|
||||||
timeout-minutes: 121
|
timeout-minutes: 121
|
||||||
|
@ -117,7 +106,7 @@ jobs:
|
||||||
sudo apt-get install --quiet -y libssl-dev sqlite3 libsqlite3-dev valgrind
|
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 libfreetype6-dev libxi-dev libxcursor-dev libgl-dev
|
||||||
sudo apt-get install --quiet -y libgc-dev
|
sudo apt-get install --quiet -y libgc-dev
|
||||||
## The following is needed for examples/wkhtmltopdf.v
|
# 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
|
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 apt-get install --quiet -y xfonts-75dpi xfonts-base
|
||||||
sudo dpkg -i wkhtmltox_0.12.6-1.focal_amd64.deb
|
sudo dpkg -i wkhtmltox_0.12.6-1.focal_amd64.deb
|
||||||
|
@ -160,7 +149,7 @@ jobs:
|
||||||
./testcase_leak 2>leaks.txt
|
./testcase_leak 2>leaks.txt
|
||||||
[ "$(stat -c %s leaks.txt)" = "0" ]
|
[ "$(stat -c %s leaks.txt)" = "0" ]
|
||||||
|
|
||||||
ubuntu:
|
gcc:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
|
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
|
||||||
timeout-minutes: 121
|
timeout-minutes: 121
|
||||||
|
@ -181,14 +170,14 @@ jobs:
|
||||||
./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 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: Build Vorum
|
# - name: Build Vorum
|
||||||
# run: git clone --depth 1 https://github.com/vlang/vorum && cd vorum && ../v . && cd ..
|
# run: git clone --depth 1 https://github.com/vlang/vorum && cd vorum && ../v . && cd ..
|
||||||
- name: Build vpm
|
- name: Build vpm
|
||||||
run: ./v install markdown && git clone --depth 1 https://github.com/vlang/vpm && cd vpm && ../v . || ../v cmd/vpm && cd ..
|
run: ./v install markdown && git clone --depth 1 https://github.com/vlang/vpm && cd vpm && ../v . || ../v cmd/vpm && cd ..
|
||||||
- name: Freestanding
|
- name: Freestanding
|
||||||
|
@ -255,21 +244,20 @@ jobs:
|
||||||
echo "Building it..."
|
echo "Building it..."
|
||||||
../../vprod -backend native -o 1m 1m.v
|
../../vprod -backend native -o 1m 1m.v
|
||||||
echo "Running it..."
|
echo "Running it..."
|
||||||
|
# ./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
|
||||||
|
# - name: Coveralls GitHub Action
|
||||||
|
# uses: coverallsapp/github-action@v1.0.1
|
||||||
|
# with:
|
||||||
|
# github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
# ./1m
|
clang:
|
||||||
# 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
|
runs-on: ubuntu-20.04
|
||||||
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
|
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
|
||||||
timeout-minutes: 121
|
timeout-minutes: 121
|
||||||
|
@ -359,40 +347,38 @@ jobs:
|
||||||
echo "Running it..."
|
echo "Running it..."
|
||||||
ls
|
ls
|
||||||
|
|
||||||
|
# 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@v3
|
||||||
|
# - 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-autofree-selfcompile:
|
# musl:
|
||||||
# runs-on: ubuntu-20.04
|
# runs-on: ubuntu-20.04
|
||||||
# if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
|
# if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
|
||||||
# timeout-minutes: 121
|
# timeout-minutes: 121
|
||||||
# env:
|
# env:
|
||||||
# VFLAGS: -cc gcc
|
# VFLAGS: -cc musl-gcc
|
||||||
# steps:
|
# V_CI_MUSL: 1
|
||||||
# - uses: actions/checkout@v3
|
# steps:
|
||||||
# - name: Build V
|
# - uses: actions/checkout@v3
|
||||||
# run: make -j4
|
# - name: Install dependencies
|
||||||
# - name: V self compilation with -autofree
|
# run: |
|
||||||
# run: ./v -o v2 -autofree cmd/v && ./v2 -o v3 -autofree cmd/v && ./v3 -o v4 -autofree cmd/v
|
# 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
|
||||||
# ubuntu-musl:
|
# # - name: Test v binaries
|
||||||
# runs-on: ubuntu-20.04
|
# # run: ./v build-vbinaries
|
||||||
# if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
|
# # - name: Test v->js
|
||||||
# timeout-minutes: 121
|
# # run: ./v -o hi.js examples/hello_v_js.v && node hi.js
|
||||||
# env:
|
# - name: quick debug
|
||||||
# VFLAGS: -cc musl-gcc
|
# run: ./v -stats vlib/strconv/format_test.v
|
||||||
# V_CI_MUSL: 1
|
# - name: Self tests
|
||||||
# steps:
|
# run: ./v test-self
|
||||||
# - uses: actions/checkout@v3
|
|
||||||
# - 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
|
|
||||||
|
|
57
.github/workflows/macos_ci.yml
vendored
57
.github/workflows/macos_ci.yml
vendored
|
@ -1,21 +1,10 @@
|
||||||
name: Code CI macos
|
name: CI macOS
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
workflow_call:
|
||||||
paths-ignore:
|
|
||||||
- "**.md"
|
|
||||||
- "**.yml"
|
|
||||||
pull_request:
|
|
||||||
paths-ignore:
|
|
||||||
- "**.md"
|
|
||||||
- "**.yml"
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: build-ci-macos-${{ github.event.pull_request.number || github.sha }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
macos:
|
clang:
|
||||||
runs-on: macOS-12
|
runs-on: macOS-12
|
||||||
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
|
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
|
||||||
timeout-minutes: 121
|
timeout-minutes: 121
|
||||||
|
@ -42,18 +31,18 @@ jobs:
|
||||||
run: ./v symlink
|
run: ./v symlink
|
||||||
- name: Build vpm
|
- name: Build vpm
|
||||||
run: ./v install markdown && git clone --depth 1 https://github.com/vlang/vpm && cd vpm && ../v . || ../v cmd/vpm && cd ..
|
run: ./v install markdown && git clone --depth 1 https://github.com/vlang/vpm && cd vpm && ../v . || ../v cmd/vpm && cd ..
|
||||||
# - 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
|
||||||
# psql -d postgres -c 'select rolname from pg_roles'
|
# psql -d postgres -c 'select rolname from pg_roles'
|
||||||
# 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
|
||||||
|
@ -84,14 +73,14 @@ jobs:
|
||||||
../v -autofree .
|
../v -autofree .
|
||||||
../v -prod .
|
../v -prod .
|
||||||
cd ..
|
cd ..
|
||||||
# - name: Test c2v
|
# - name: Test c2v
|
||||||
# run: |
|
# run: |
|
||||||
# git clone --depth 1 https://github.com/vlang/c2v
|
# git clone --depth 1 https://github.com/vlang/c2v
|
||||||
# cd c2v && ../v -o c2v .
|
# cd c2v && ../v -o c2v .
|
||||||
# ../v .
|
# ../v .
|
||||||
# ../v run tests/run_tests.vsh
|
# ../v run tests/run_tests.vsh
|
||||||
# ../v -experimental -w c2v_test.v
|
# ../v -experimental -w c2v_test.v
|
||||||
# cd ..
|
# cd ..
|
||||||
- name: Build V UI examples
|
- name: Build V UI examples
|
||||||
run: |
|
run: |
|
||||||
git clone --depth 1 https://github.com/vlang/ui
|
git clone --depth 1 https://github.com/vlang/ui
|
||||||
|
|
115
.github/workflows/windows_ci.yml
vendored
115
.github/workflows/windows_ci.yml
vendored
|
@ -1,21 +1,10 @@
|
||||||
name: Code CI Windows
|
name: CI Windows
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
workflow_call:
|
||||||
paths-ignore:
|
|
||||||
- "**.md"
|
|
||||||
- "**.yml"
|
|
||||||
pull_request:
|
|
||||||
paths-ignore:
|
|
||||||
- "**.md"
|
|
||||||
- "**.yml"
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: build-ci-windows-${{ github.event.pull_request.number || github.sha }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
windows-gcc:
|
gcc:
|
||||||
runs-on: windows-2019
|
runs-on: windows-2019
|
||||||
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
|
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
|
||||||
timeout-minutes: 181
|
timeout-minutes: 181
|
||||||
|
@ -50,8 +39,8 @@ jobs:
|
||||||
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
|
run: .\v.exe test-self
|
||||||
# - name: Test
|
# - name: Test
|
||||||
# run: .\v.exe test-all
|
# run: .\v.exe test-all
|
||||||
- name: Build option_test.v with -autofree
|
- name: Build option_test.v with -autofree
|
||||||
run: .\v.exe -autofree vlib/v/tests/option_test.v
|
run: .\v.exe -autofree vlib/v/tests/option_test.v
|
||||||
- name: Test time functions in a timezone UTC-12
|
- name: Test time functions in a timezone UTC-12
|
||||||
|
@ -83,7 +72,7 @@ jobs:
|
||||||
- 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
|
||||||
|
|
||||||
windows-msvc:
|
msvc:
|
||||||
runs-on: windows-2019
|
runs-on: windows-2019
|
||||||
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
|
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
|
||||||
timeout-minutes: 181
|
timeout-minutes: 181
|
||||||
|
@ -110,17 +99,16 @@ jobs:
|
||||||
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
|
||||||
### TODO: test-cleancode fails with msvc. Investigate why???
|
- name: All code is formatted
|
||||||
## - name: All code is formatted
|
run: ./v test-cleancode
|
||||||
## run: ./v test-cleancode
|
|
||||||
- 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
|
./v test-self
|
||||||
# - name: Test
|
# - name: Test
|
||||||
# run: .\v.exe test-all
|
# run: .\v.exe 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
|
||||||
|
@ -130,7 +118,7 @@ jobs:
|
||||||
- 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.exe -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v
|
||||||
|
|
||||||
windows-tcc:
|
tcc:
|
||||||
runs-on: windows-2019
|
runs-on: windows-2019
|
||||||
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
|
if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
|
||||||
timeout-minutes: 121
|
timeout-minutes: 121
|
||||||
|
@ -160,8 +148,7 @@ jobs:
|
||||||
.\v.exe cmd/tools/test_if_v_test_system_works.v
|
.\v.exe 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.exe 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*
|
||||||
|
@ -185,42 +172,42 @@ jobs:
|
||||||
- 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.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
|
## 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.exe 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 -bt10 v.c
|
# run: .\v.exe -o v.c cmd/v && .\thirdparty\tcc\tcc.exe -Werror -g -w -ladvapi32 -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.exe 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.exe 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
|
# run: ./v test-self
|
||||||
## - 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.exe -o v2.exe cmd/v && .\v2.exe -o v3.exe cmd/v
|
||||||
|
|
|
@ -13,6 +13,8 @@ import runtime
|
||||||
|
|
||||||
pub const github_job = os.getenv('GITHUB_JOB')
|
pub const github_job = os.getenv('GITHUB_JOB')
|
||||||
|
|
||||||
|
pub const runner_os = os.getenv('RUNNER_OS') // GitHub runner OS
|
||||||
|
|
||||||
pub const show_start = os.getenv('VTEST_SHOW_START') == '1'
|
pub const show_start = os.getenv('VTEST_SHOW_START') == '1'
|
||||||
|
|
||||||
pub const hide_skips = os.getenv('VTEST_HIDE_SKIP') == '1'
|
pub const hide_skips = os.getenv('VTEST_HIDE_SKIP') == '1'
|
||||||
|
@ -219,18 +221,28 @@ pub fn new_test_session(_vargs string, will_compile bool) TestSession {
|
||||||
skip_files << 'examples/pendulum-simulation/parallel.v'
|
skip_files << 'examples/pendulum-simulation/parallel.v'
|
||||||
skip_files << 'examples/pendulum-simulation/parallel_with_iw.v'
|
skip_files << 'examples/pendulum-simulation/parallel_with_iw.v'
|
||||||
skip_files << 'examples/pendulum-simulation/sequential.v'
|
skip_files << 'examples/pendulum-simulation/sequential.v'
|
||||||
|
if testing.github_job == 'tcc' {
|
||||||
|
// TODO: fix these by adding declarations for the missing functions in the prebuilt tcc
|
||||||
|
skip_files << 'vlib/net/mbedtls/mbedtls_compiles_test.v'
|
||||||
|
skip_files << 'vlib/net/ssl/ssl_compiles_test.v'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if testing.runner_os != 'Linux' || testing.github_job != 'tcc' {
|
||||||
|
skip_files << 'examples/c_interop_wkhtmltopdf.v' // needs installation of wkhtmltopdf from https://github.com/wkhtmltopdf/packaging/releases
|
||||||
|
skip_files << 'examples/call_v_from_python/test.v' // the example only makes sense to be compiled, when python is installed
|
||||||
|
skip_files << 'examples/call_v_from_ruby/test.v' // the example only makes sense to be compiled, when ruby is installed
|
||||||
|
skip_files << 'vlib/vweb/vweb_app_test.v' // imports the `sqlite` module, which in turn includes sqlite3.h
|
||||||
|
}
|
||||||
|
$if !macos {
|
||||||
|
skip_files << 'examples/macos_tray/tray.v'
|
||||||
}
|
}
|
||||||
if testing.github_job == 'ubuntu-docker-musl' {
|
if testing.github_job == 'ubuntu-docker-musl' {
|
||||||
skip_files << 'vlib/net/openssl/openssl_compiles_test.v'
|
skip_files << 'vlib/net/openssl/openssl_compiles_test.v'
|
||||||
|
skip_files << 'vlib/x/ttf/ttf_test.v'
|
||||||
}
|
}
|
||||||
if testing.github_job == 'tests-sanitize-memory-clang' {
|
if testing.github_job == 'tests-sanitize-memory-clang' {
|
||||||
skip_files << 'vlib/net/openssl/openssl_compiles_test.v'
|
skip_files << 'vlib/net/openssl/openssl_compiles_test.v'
|
||||||
}
|
}
|
||||||
if testing.github_job == 'windows-tcc' {
|
|
||||||
// TODO: fix these by adding declarations for the missing functions in the prebuilt tcc
|
|
||||||
skip_files << 'vlib/net/mbedtls/mbedtls_compiles_test.v'
|
|
||||||
skip_files << 'vlib/net/ssl/ssl_compiles_test.v'
|
|
||||||
}
|
|
||||||
if testing.github_job != 'misc-tooling' {
|
if testing.github_job != 'misc-tooling' {
|
||||||
// These examples need .h files that are produced from the supplied .glsl files,
|
// These examples need .h files that are produced from the supplied .glsl files,
|
||||||
// using by the shader compiler tools in https://github.com/floooh/sokol-tools-bin/archive/pre-feb2021-api-changes.tar.gz
|
// using by the shader compiler tools in https://github.com/floooh/sokol-tools-bin/archive/pre-feb2021-api-changes.tar.gz
|
||||||
|
@ -246,17 +258,6 @@ pub fn new_test_session(_vargs string, will_compile bool) TestSession {
|
||||||
skip_files << 'examples/sokol/sounds/wav_player.v'
|
skip_files << 'examples/sokol/sounds/wav_player.v'
|
||||||
skip_files << 'examples/sokol/sounds/simple_sin_tones.v'
|
skip_files << 'examples/sokol/sounds/simple_sin_tones.v'
|
||||||
}
|
}
|
||||||
if testing.github_job != 'ubuntu-tcc' {
|
|
||||||
skip_files << 'examples/c_interop_wkhtmltopdf.v' // needs installation of wkhtmltopdf from https://github.com/wkhtmltopdf/packaging/releases
|
|
||||||
skip_files << 'examples/call_v_from_python/test.v' // the example only makes sense to be compiled, when python is installed
|
|
||||||
skip_files << 'examples/call_v_from_ruby/test.v' // the example only makes sense to be compiled, when ruby is installed
|
|
||||||
// the ttf_test.v is not interactive, but needs X11 headers to be installed, which is done only on ubuntu-tcc for now
|
|
||||||
skip_files << 'vlib/x/ttf/ttf_test.v'
|
|
||||||
skip_files << 'vlib/vweb/vweb_app_test.v' // imports the `sqlite` module, which in turn includes sqlite3.h
|
|
||||||
}
|
|
||||||
$if !macos {
|
|
||||||
skip_files << 'examples/macos_tray/tray.v'
|
|
||||||
}
|
|
||||||
// examples/wasm/mandelbrot/mandelbrot.v requires special compilation flags: `-b wasm -os browser`, skip it for now:
|
// examples/wasm/mandelbrot/mandelbrot.v requires special compilation flags: `-b wasm -os browser`, skip it for now:
|
||||||
skip_files << 'examples/wasm/mandelbrot/mandelbrot.v'
|
skip_files << 'examples/wasm/mandelbrot/mandelbrot.v'
|
||||||
|
|
||||||
|
|
|
@ -350,11 +350,10 @@ fn main() {
|
||||||
tsession.skip_files << 'vlib/db/pg/pg_orm_test.v'
|
tsession.skip_files << 'vlib/db/pg/pg_orm_test.v'
|
||||||
}
|
}
|
||||||
|
|
||||||
if github_job == 'windows-tcc' {
|
$if windows {
|
||||||
tsession.skip_files << 'vlib/v/tests/project_with_cpp_code/compiling_cpp_files_with_a_cplusplus_compiler_test.v'
|
if github_job == 'tcc' {
|
||||||
// TODO: fix these ASAP
|
tsession.skip_files << 'vlib/v/tests/project_with_cpp_code/compiling_cpp_files_with_a_cplusplus_compiler_test.v'
|
||||||
tsession.skip_files << 'vlib/net/tcp_test.v'
|
}
|
||||||
tsession.skip_files << 'vlib/net/udp_test.v'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if !os.exists('cmd/tools/builders/wasm_builder') {
|
if !os.exists('cmd/tools/builders/wasm_builder') {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue