Skip to content

Continuous Integration #1939

Continuous Integration

Continuous Integration #1939

Workflow file for this run

name: 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:
schedule:
- cron: "31 1,12 * * *"
push:
branches:
- main
pull_request:
branches:
- main
jobs:
shellcheck:
name: Shellcheck
uses: ./.github/workflows/shellcheck.yml
todo:
if: github.event_name == 'push'
name: TODO
uses: ./.github/workflows/todo.yml
validate-docs:
runs-on: ubuntu-latest
steps:
- name: Checkout VTL
uses: actions/checkout@v2
with:
path: vtl
- name: Setup V
uses: vlang/setup-v@v1
with:
check-latest: true
- name: V doctor
run: v doctor
- name: Install VSL and dependencies
run: |
v install vsl && \
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 VTL source code to V Modules
run: cp -rf ./vtl ~/.vmodules
- name: Validate Docs
run: |
cd ./vtl
v check-md .
fmt-check:
runs-on: ubuntu-latest
steps:
- name: Checkout VTL
uses: actions/checkout@v2
with:
path: vtl
- name: Setup V
uses: vlang/setup-v@v1
with:
check-latest: true
- name: V doctor
run: v doctor
- name: Install VSL and dependencies
run: |
v install vsl && \
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 VTL source code to V Modules
run: mv ./vtl ~/.vmodules
- name: Verify Fmt
run: |
cd ~
v fmt -verify ~/.vmodules/vtl
run-tests:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-22.04
- ubuntu-20.04
flags:
- ""
- "--prod"
steps:
- name: Checkout VTL
uses: actions/checkout@v2
with:
path: vtl
- name: Setup V
uses: vlang/setup-v@v1
with:
check-latest: true
- name: V doctor
run: v doctor
- name: Install VSL and dependencies
run: |
v install vsl && \
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 VTL source code to V Modules
run: mv ./vtl ~/.vmodules
- name: Execute Tests using Pure V Backend
run: ~/.vmodules/vtl/bin/test ${{ matrix.flags }}
- name: Execute Tests using Pure V Backend with Pure C Blas
run: ~/.vmodules/vtl/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/vtl/bin/test ${{ matrix.flags }} --use-gc boehm
- name: Execute Tests using Pure V Backend with Pure C Blas and Garbage Collection enabled
run: ~/.vmodules/vtl/bin/test ${{ matrix.flags }} --use-cblas --use-gc boehm
if: ${{ matrix.os != 'ubuntu-18.04' }}