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 timeout-minutes: 121
env: env:
VFLAGS: -cc clang 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: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Build V - name: Build V
@ -39,12 +38,6 @@ jobs:
run: v -cg -cstrict -o v cmd/v run: v -cg -cstrict -o v cmd/v
- name: All code is formatted - name: All code is formatted
run: VJOBS=1 v test-cleancode 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 - name: Run sanitizers
run: | run: |
v -o v2 cmd/v -cflags -fsanitize=undefined v -o v2 cmd/v -cflags -fsanitize=undefined
@ -86,22 +79,6 @@ jobs:
- name: v doctor - name: v doctor
run: | run: |
v doctor 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 - name: V self compilation with -usecache
run: | run: |
unset VFLAGS unset VFLAGS

View file

@ -18,7 +18,11 @@ concurrency:
jobs: jobs:
common: common:
runs-on: ubuntu-latest strategy:
matrix:
os: [ubuntu-latest, macos-12, macos-14]
fail-fast: false
runs-on: ${{ matrix.os }}
timeout-minutes: 121 timeout-minutes: 121
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -29,12 +33,17 @@ jobs:
- name: Install dependencies - name: Install dependencies
run: | run: |
v retry -- sudo apt update if [ $RUNNER_OS == 'Linux' ]; then
v retry -- sudo apt install --quiet -y libgc-dev libsodium-dev libssl-dev sqlite3 libsqlite3-dev v retry -- sudo apt -qq update
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 -qq install libgc-dev libsodium-dev libssl-dev sqlite3 libsqlite3-dev
v retry -- sudo apt install --quiet -y --no-install-recommends sassc libgit2-dev ## needed by gitly 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 - name: Test vtcc
if: runner.os == 'Linux'
run: .github/workflows/compile_v_with_vtcc.sh run: .github/workflows/compile_v_with_vtcc.sh
- name: Test vsql compilation and examples - name: Test vsql compilation and examples
@ -123,6 +132,14 @@ jobs:
# v -cc gcc run /tmp/gitly/tests/first_run.v # v -cc gcc run /tmp/gitly/tests/first_run.v
# # /tmp/gitly/gitly -ci_run # # /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 - name: Build vlang/v-analyzer
if: ${{ !cancelled() && steps.build.outcome == 'success' }} if: ${{ !cancelled() && steps.build.outcome == 'success' }}
run: | run: |
@ -150,7 +167,7 @@ jobs:
fi fi
- name: Build vlang/go2v - name: Build vlang/go2v
if: ${{ !cancelled() && steps.build.outcome == 'success' }} if: ${{ !cancelled() && steps.build.outcome == 'success' && matrix.os != 'macos-14' }}
run: | run: |
echo "Clone Go2V" echo "Clone Go2V"
v retry -- git clone --depth=1 https://github.com/vlang/go2v /tmp/go2v/ v retry -- git clone --depth=1 https://github.com/vlang/go2v /tmp/go2v/
@ -202,7 +219,11 @@ jobs:
# v test ~/.vmodules/nedpals/vex # v test ~/.vmodules/nedpals/vex
vsl: 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 timeout-minutes: 121
env: env:
VFLAGS: -no-parallel VFLAGS: -no-parallel
@ -213,10 +234,14 @@ jobs:
run: make && sudo ./v symlink run: make && sudo ./v symlink
- name: Install dependencies - name: Install dependencies
run: | run: |
if [ $RUNNER_OS == 'Linux' ]; then
v retry -- sudo apt -qq update v retry -- sudo apt -qq update
v retry -- sudo apt -qq install \ v retry -- sudo apt -qq install \
libgc-dev libgl1-mesa-dev mesa-common-dev liblapacke-dev libopenblas-dev libopenmpi-dev \ 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 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 - name: Install vsl
run: v retry -- v install vsl run: v retry -- v install vsl
- name: Test with Pure V Backend - name: Test with Pure V Backend
@ -225,10 +250,17 @@ jobs:
run: ~/.vmodules/vsl/bin/test --use-cblas run: ~/.vmodules/vsl/bin/test --use-cblas
vtl: 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 timeout-minutes: 121
env: env:
VFLAGS: -no-parallel 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: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Build V - name: Build V
@ -236,9 +268,13 @@ jobs:
run: make && sudo ./v symlink run: make && sudo ./v symlink
- name: Install dependencies - name: Install dependencies
run: | run: |
v retry -- sudo apt -qq update if [ $RUNNER_OS == 'Linux' ]; then
v retry -- sudo apt -qq install \ v retry -- sudo apt -qq update
libgc-dev libgl1-mesa-dev mesa-common-dev liblapacke-dev libopenblas-dev libopenmpi-dev 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 v retry v install vsl
- name: Install vtl - name: Install vtl
run: v retry v install vtl run: v retry v install vtl
@ -250,7 +286,7 @@ jobs:
vpm-site: vpm-site:
strategy: strategy:
matrix: matrix:
os: [ubuntu-20.04, macos-12] os: [ubuntu-20.04, macos-12, macos-14]
fail-fast: false fail-fast: false
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:

View file

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