ci: extend coverage, move app test from macos_ci to v_apps_and_modules_ci (#21584)

This commit is contained in:
Turiiya 2024-05-27 18:54:45 +02:00 committed by GitHub
parent 6b2d527d9e
commit 31cde9d8f5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 50 additions and 35 deletions

View file

@ -30,7 +30,6 @@ jobs:
timeout-minutes: 121
env:
VFLAGS: -cc clang
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
@ -39,12 +38,6 @@ jobs:
run: 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'"
v retry -- brew install libpq openssl mercurial
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/opt/openssl/lib/"
echo "LIBRARY_PATH is '$LIBRARY_PATH'"
- name: Run sanitizers
run: |
v -o v2 cmd/v -cflags -fsanitize=undefined
@ -86,22 +79,6 @@ jobs:
- name: v doctor
run: |
v doctor
- name: Test ved
run: |
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: |
v retry -- git clone --depth 1 https://github.com/vlang/ui
cd ui
mkdir -p ~/.vmodules
ln -s $(pwd) ~/.vmodules/ui
../v -no-parallel examples/rectangles.v
../v -no-parallel examples/users.v
## ../v run examples/build_examples.vsh
- name: V self compilation with -usecache
run: |
unset VFLAGS

View file

@ -18,7 +18,11 @@ concurrency:
jobs:
common:
runs-on: ubuntu-latest
strategy:
matrix:
os: [ubuntu-latest, macos-12, macos-14]
fail-fast: false
runs-on: ${{ matrix.os }}
timeout-minutes: 121
steps:
- uses: actions/checkout@v4
@ -29,12 +33,17 @@ jobs:
- name: Install dependencies
run: |
v retry -- sudo apt update
v retry -- sudo apt install --quiet -y libgc-dev libsodium-dev libssl-dev sqlite3 libsqlite3-dev
v retry -- sudo apt install --quiet -y libfreetype6-dev libxi-dev libxcursor-dev libgl-dev libasound2-dev xfonts-75dpi xfonts-base
v retry -- sudo apt install --quiet -y --no-install-recommends sassc libgit2-dev ## needed by gitly
if [ $RUNNER_OS == 'Linux' ]; then
v retry -- sudo apt -qq update
v retry -- sudo apt -qq install libgc-dev libsodium-dev libssl-dev sqlite3 libsqlite3-dev
v retry -- sudo apt -qq install libfreetype6-dev libxi-dev libxcursor-dev libgl-dev libasound2-dev xfonts-75dpi xfonts-base
v retry -- sudo apt -qq install sassc libgit2-dev # needed by gitly
else
v retry brew install sassc libgit2
fi
- name: Test vtcc
if: runner.os == 'Linux'
run: .github/workflows/compile_v_with_vtcc.sh
- name: Test vsql compilation and examples
@ -123,6 +132,14 @@ jobs:
# v -cc gcc run /tmp/gitly/tests/first_run.v
# # /tmp/gitly/gitly -ci_run
- name: Build V UI examples
if: ${{ !cancelled() && steps.build.outcome == 'success' }}
run: |
v retry -- v install ui
v -no-parallel ~/.vmodules/ui/examples/rectangles.v
v -no-parallel ~/.vmodules/ui/examples/users.v
# v run ~/.vmodules/ui/examples/build_examples.vsh
- name: Build vlang/v-analyzer
if: ${{ !cancelled() && steps.build.outcome == 'success' }}
run: |
@ -150,7 +167,7 @@ jobs:
fi
- name: Build vlang/go2v
if: ${{ !cancelled() && steps.build.outcome == 'success' }}
if: ${{ !cancelled() && steps.build.outcome == 'success' && matrix.os != 'macos-14' }}
run: |
echo "Clone Go2V"
v retry -- git clone --depth=1 https://github.com/vlang/go2v /tmp/go2v/
@ -202,7 +219,11 @@ jobs:
# v test ~/.vmodules/nedpals/vex
vsl:
runs-on: ubuntu-20.04
strategy:
matrix:
os: [ubuntu-20.04, macos-12, macos-14]
fail-fast: false
runs-on: ${{ matrix.os }}
timeout-minutes: 121
env:
VFLAGS: -no-parallel
@ -213,10 +234,14 @@ jobs:
run: make && sudo ./v symlink
- name: Install dependencies
run: |
if [ $RUNNER_OS == 'Linux' ]; then
v retry -- sudo apt -qq update
v retry -- sudo apt -qq install \
libgc-dev libgl1-mesa-dev mesa-common-dev liblapacke-dev libopenblas-dev libopenmpi-dev \
opencl-headers libxcursor-dev libxi-dev libhdf5-cpp-103 libhdf5-dev libhdf5-mpi-dev hdf5-tools
else
v retry brew install coreutils hdf5 open-mpi openblas lapack opencl-headers
fi
- name: Install vsl
run: v retry -- v install vsl
- name: Test with Pure V Backend
@ -225,10 +250,17 @@ jobs:
run: ~/.vmodules/vsl/bin/test --use-cblas
vtl:
runs-on: ubuntu-20.04
strategy:
matrix:
os: [ubuntu-20.04, macos-12, macos-14]
fail-fast: false
runs-on: ${{ matrix.os }}
timeout-minutes: 121
env:
VFLAGS: -no-parallel
# Fixes complaints about $TERM not being set when running the vtl test script
# (a warning on Linux, but an error on macOS).
TERM: xterm
steps:
- uses: actions/checkout@v4
- name: Build V
@ -236,9 +268,13 @@ jobs:
run: make && sudo ./v symlink
- name: Install dependencies
run: |
v retry -- sudo apt -qq update
v retry -- sudo apt -qq install \
libgc-dev libgl1-mesa-dev mesa-common-dev liblapacke-dev libopenblas-dev libopenmpi-dev
if [ $RUNNER_OS == 'Linux' ]; then
v retry -- sudo apt -qq update
v retry -- sudo apt -qq install \
libgc-dev libgl1-mesa-dev mesa-common-dev liblapacke-dev libopenblas-dev libopenmpi-dev
else
v retry brew install coreutils hdf5 open-mpi openblas lapack opencl-headers
fi
v retry v install vsl
- name: Install vtl
run: v retry v install vtl
@ -250,7 +286,7 @@ jobs:
vpm-site:
strategy:
matrix:
os: [ubuntu-20.04, macos-12]
os: [ubuntu-20.04, macos-12, macos-14]
fail-fast: false
runs-on: ${{ matrix.os }}
steps:

View file

@ -56,6 +56,8 @@ jobs:
cc: msvc
- os: macos-12
cc: clang
- os: macos-14
cc: clang
fail-fast: false
runs-on: ${{ matrix.os }}
env: