Added more examples #2250
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: VSL Continuous Integration | |
concurrency: | |
group: ci-${{ github.event.number }} | |
cancel-in-progress: true | |
on: | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
validate-docs: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout VSL | |
uses: actions/checkout@v3 | |
with: | |
path: vsl | |
- name: Setup V | |
uses: vlang/[email protected] | |
with: | |
check-latest: true | |
- name: V doctor | |
run: v doctor | |
- name: Install dependencies | |
run: | | |
sudo apt-get update && \ | |
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 \ | |
libhdf5-dev \ | |
hdf5-tools \ | |
opencl-headers | |
- name: Copy VSL source code to V Modules | |
run: cp -rf ./vsl ~/.vmodules | |
- name: Validate Docs | |
run: | | |
cd ~ | |
v check-md ~/.vmodules/vsl | |
fmt-check: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout VSL | |
uses: actions/checkout@v3 | |
with: | |
path: vsl | |
- name: Setup V | |
uses: vlang/[email protected] | |
with: | |
check-latest: true | |
- name: V doctor | |
run: v doctor | |
- name: Install dependencies | |
run: | | |
sudo apt-get update && \ | |
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 \ | |
libhdf5-dev \ | |
hdf5-tools \ | |
opencl-headers | |
- name: Move VSL source code to V Modules | |
run: mv ./vsl ~/.vmodules | |
- name: Verify Fmt | |
# TODO: Remove continue-on-error when v fmt -verify is fixed for VSL on CI | |
continue-on-error: true | |
run: | | |
cd ~ | |
v fmt -verify ~/.vmodules/vsl | |
run-tests-on-linux: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-22.04 | |
- ubuntu-20.04 | |
flags: | |
- "" | |
- "--prod" | |
steps: | |
- name: Checkout VSL | |
uses: actions/checkout@v3 | |
with: | |
path: vsl | |
- name: Setup V | |
uses: vlang/[email protected] | |
with: | |
check-latest: true | |
- name: V doctor | |
run: v doctor | |
- name: Install dependencies | |
run: | | |
sudo apt-get update && \ | |
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 \ | |
libhdf5-dev \ | |
hdf5-tools \ | |
opencl-headers | |
- name: Move VSL source code to V Modules | |
run: mv ./vsl ~/.vmodules | |
- name: Execute Tests using Pure V Backend | |
run: ~/.vmodules/vsl/bin/test ${{ matrix.flags }} | |
- name: Execute Tests using Pure V Backend with Pure C Blas | |
run: ~/.vmodules/vsl/bin/test ${{ matrix.flags }} --use-cblas | |
if: ${{ matrix.os != 'ubuntu-18.04' }} | |
- name: Execute Tests using Pure V Backend and Garbage Collection enabled | |
run: ~/.vmodules/vsl/bin/test ${{ matrix.flags }} --use-gc boehm | |
- name: Execute Tests using Pure V Backend with Pure C Blas and Garbage Collection enabled | |
run: ~/.vmodules/vsl/bin/test ${{ matrix.flags }} --use-cblas --use-gc boehm | |
if: ${{ matrix.os != 'ubuntu-18.04' }} | |
run-tests-on-macos: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- macos-latest | |
flags: | |
- "" | |
- "--prod" | |
steps: | |
- name: Checkout VSL | |
uses: actions/checkout@v3 | |
with: | |
path: vsl | |
- name: Setup V | |
uses: vlang/[email protected] | |
with: | |
check-latest: true | |
- name: V doctor | |
run: v doctor | |
- name: Install dependencies | |
run: | | |
brew install coreutils | |
brew install gcc | |
brew install libomp | |
brew install hdf5 | |
brew install open-mpi | |
brew install openblas | |
brew install lapack | |
- name: Move VSL source code to V Modules | |
run: mv ./vsl ~/.vmodules | |
- name: Execute Tests using Pure V Backend | |
# TODO: Remove continue-on-error when CI is fixed for macOS | |
continue-on-error: true | |
run: ~/.vmodules/vsl/bin/test | |
- name: Execute Tests using Pure V Backend with Pure C Blas | |
continue-on-error: true | |
run: ~/.vmodules/vsl/bin/test --use-cblas | |
- name: Execute Tests using Pure V Backend and Garbage Collection enabled | |
continue-on-error: true | |
run: ~/.vmodules/vsl/bin/test --use-gc boehm | |
- name: Execute Tests using Pure V Backend with Pure C Blas and Garbage Collection enabled | |
continue-on-error: true | |
run: ~/.vmodules/vsl/bin/test --use-cblas --use-gc boehm |