ci: extract v_apps_and_modules_compile.yml

master
Delyan Angelov 2022-05-13 11:01:59 +03:00
parent 6ec4185017
commit c1bafe7a5a
No known key found for this signature in database
GPG Key ID: 66886C0F12D595ED
2 changed files with 147 additions and 114 deletions

View File

@ -85,6 +85,7 @@ jobs:
- name: g++ version
run: g++-9 --version
- name: V self compilation with g++
continue-on-error: true
run: ./v -cc g++-9 -no-std -cflags -std=c++11 -o v2 cmd/v && ./v2 -cc g++-9 -no-std -cflags -std=c++11 -o v3 cmd/v
## - name: Running tests with g++
## run: ./v -cc g++-9 test-self
@ -93,6 +94,7 @@ jobs:
run: ./v -autofree -o v2 cmd/v ## NB: this does not mean it runs, but at least keeps it from regressing
- name: Shader examples can be build
continue-on-error: true
run: |
wget https://github.com/floooh/sokol-tools-bin/raw/33d2e4cc26088c6c28eaef5467990f8940d15aab/bin/linux/sokol-shdc
chmod +x ./sokol-shdc
@ -146,117 +148,3 @@ jobs:
./v test-parser -S examples/regex_example_fuzz.v
./v test-parser -S examples/2048/2048_fuzz.v
v-apps-compile:
runs-on: ubuntu-20.04
timeout-minutes: 121
steps:
- uses: actions/checkout@v2
- name: Build V
run: make && sudo ./v symlink
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install --quiet -y libgc-dev
sudo apt-get install --quiet -y libsodium-dev 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 xfonts-75dpi xfonts-base
## vls
- name: Clone VLS
run: git clone --depth 1 https://github.com/vlang/vls
- name: Build VLS
run: pushd vls; v cmd/vls ; popd
- name: Build VLS with -prod
run: pushd vls; v -prod cmd/vls; popd
- name: Build VLS with -gc boehm -skip-unused
run: pushd vls; v -gc boehm -skip-unused cmd/vls; popd
## vsl
- name: Clone VSL
run: git clone --depth 1 https://github.com/vlang/vsl ~/.vmodules/vsl
- name: Install dependencies
run: sudo apt-get install --quiet -y --no-install-recommends gfortran liblapacke-dev libopenblas-dev libgc-dev
- name: Execute Tests using Pure V Backend
run: ~/.vmodules/vsl/bin/test
- name: Execute Tests using Pure V Backend with Pure V Math
run: ~/.vmodules/vsl/bin/test --use-cblas
- name: Execute Tests using Pure V Backend and Garbage Collection enabled
run: ~/.vmodules/vsl/bin/test --use-gc boehm
- name: Execute Tests using Pure V Backend with Pure V Math and Garbage Collection enabled
run: ~/.vmodules/vsl/bin/test --use-cblas --use-gc boehm
## vtl
- name: Clone VTL
run: git clone --depth 1 https://github.com/vlang/vtl ~/.vmodules/vtl
- name: Install dependencies
run: sudo apt-get install --quiet -y --no-install-recommends gfortran liblapacke-dev libopenblas-dev libgc-dev
- name: Execute Tests using Pure V Backend
run: ~/.vmodules/vtl/bin/test
- name: Execute Tests using Pure V Backend with Pure V Math
run: ~/.vmodules/vtl/bin/test --use-cblas
- name: Execute Tests using Pure V Backend and Garbage Collection enabled
run: ~/.vmodules/vtl/bin/test --use-gc boehm
- name: Execute Tests using Pure V Backend with Pure V Math and Garbage Collection enabled
run: ~/.vmodules/vtl/bin/test --use-cblas --use-gc boehm
## vab
- name: Clone vab
run: git clone --depth 1 https://github.com/vlang/vab
- name: Build vab
run: cd vab; ../v ./vab.v ; cd ..
- name: Build vab with -gc boehm -skip-unused
run: cd vab; ../v -gc boehm -skip-unused ./vab.v ; cd ..
## gitly
- name: Install markdown
run: git clone https://github.com/vlang/markdown ~/.vmodules/markdown
- name: Build Gitly
run: |
git clone --depth 1 https://github.com/vlang/gitly
cd gitly
../v .
# ./gitly -ci_run
../v -autofree .
../v -o x tests/first_run.v
./x
cd ..
## libsodium
- name: Install libsodium-dev package
run: sudo apt-get install --quiet -y libsodium-dev
- name: Install the libsodium wrapper
run: git clone https://github.com/vlang/libsodium ~/.vmodules/libsodium
- name: Test libsodium
run: VJOBS=1 ./v -stats test ~/.vmodules/libsodium
## vex
- name: Install Vex dependencies
run: sudo apt-get install --quiet -y libsodium-dev libssl-dev sqlite3 libsqlite3-dev
- name: Install Vex
run: mkdir -p ~/.vmodules/nedpals; git clone https://github.com/nedpals/vex ~/.vmodules/nedpals/vex
- name: Compile all of the Vex examples
run: ./v should-compile-all ~/.vmodules/nedpals/vex/examples
- name: Compile the simple Vex example with -gc boehm -skip-unused
run: ./v -gc boehm -skip-unused ~/.vmodules/nedpals/vex/examples/simple_example.v
- name: Run Vex Tests
run: ./v test ~/.vmodules/nedpals/vex
## Go2V
- name: Clone & Build go2v
run: git clone --depth=1 https://github.com/vlang/go2v go2v/
- name: Build go2v
run: ./v go2v/
## - name: Run tests for go2v
## run: VJOBS=1 ./v -stats test go2v/
## vlang/pdf
- name: Clone & Build vlang/pdf
run: git clone --depth=1 https://github.com/vlang/pdf ~/.vmodules/pdf/
- name: PDF examples should compile
run: ./v should-compile-all ~/.vmodules/pdf/examples
## vpm modules
- name: Install UI through VPM
run: ./v install ui

View File

@ -0,0 +1,145 @@
name: V Apps and Modules
on:
push:
paths-ignore:
- "**.md"
pull_request:
paths-ignore:
- "**.md"
concurrency:
group: build-other-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
jobs:
v-apps-compile:
runs-on: ubuntu-20.04
timeout-minutes: 121
steps:
- uses: actions/checkout@v2
- name: Build V
run: make && sudo ./v symlink
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install --quiet -y libgc-dev
sudo apt-get install --quiet -y libsodium-dev 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 xfonts-75dpi xfonts-base
- name: Install UI through VPM
continue-on-error: true
run: |
echo "Official VPM modules should be installable"
./v install ui
- name: Build V Language Server (VLS)
continue-on-error: true
run: |
echo "Clone VLS"
git clone --depth 1 https://github.com/vlang/vls
echo "Build VLS"
pushd vls; v cmd/vls ; popd
echo "Build VLS with -prod"
pushd vls; v -prod cmd/vls; popd
echo "Build VLS with -gc boehm -skip-unused"
pushd vls; v -gc boehm -skip-unused cmd/vls; popd
- name: Build VSL
continue-on-error: true
run: |
git clone --depth 1 https://github.com/vlang/vsl ~/.vmodules/vsl
sudo apt-get install --quiet -y --no-install-recommends gfortran liblapacke-dev libopenblas-dev libgc-dev
echo "Execute Tests using Pure V Backend"
~/.vmodules/vsl/bin/test
echo "Execute Tests using Pure V Backend with Pure V Math"
~/.vmodules/vsl/bin/test --use-cblas
echo "Execute Tests using Pure V Backend and Garbage Collection enabled"
~/.vmodules/vsl/bin/test --use-gc boehm
echo "Execute Tests using Pure V Backend with Pure V Math and Garbage Collection enabled"
~/.vmodules/vsl/bin/test --use-cblas --use-gc boehm
- name: Build VTL
continue-on-error: true
run: |
echo "Clone VTL"
git clone --depth 1 https://github.com/vlang/vtl ~/.vmodules/vtl
echo "Install dependencies"
sudo apt-get install --quiet -y --no-install-recommends gfortran liblapacke-dev libopenblas-dev libgc-dev
echo "Execute Tests using Pure V Backend"
~/.vmodules/vtl/bin/test
echo "Execute Tests using Pure V Backend with Pure V Math"
~/.vmodules/vtl/bin/test --use-cblas
echo "Execute Tests using Pure V Backend and Garbage Collection enabled"
~/.vmodules/vtl/bin/test --use-gc boehm
echo "Execute Tests using Pure V Backend with Pure V Math and Garbage Collection enabled"
~/.vmodules/vtl/bin/test --use-cblas --use-gc boehm
- name: Build VAB
continue-on-error: true
run: |
echo "Clone vab"
git clone --depth 1 https://github.com/vlang/vab
echo "Build vab"
cd vab; ../v ./vab.v ; cd ..
echo "Build vab with -gc boehm -skip-unused"
cd vab; ../v -gc boehm -skip-unused ./vab.v ; cd ..
- name: Build Gitly
continue-on-error: true
run: |
echo "Clone markdown"
git clone https://github.com/vlang/markdown ~/.vmodules/markdown
echo "Clone Gitly"
git clone --depth 1 https://github.com/vlang/gitly
cd gitly
echo "Build Gitly"
../v .
echo "Build Gitly with -autofree"
../v -autofree .
echo "Run first_run.v"
../v run tests/first_run.v
# ./gitly -ci_run
- name: Build libsodium
continue-on-error: true
run: |
echo "Install libsodium-dev package"
sudo apt-get install --quiet -y libsodium-dev
echo "Clone the libsodium wrapper"
git clone https://github.com/vlang/libsodium ~/.vmodules/libsodium
echo "Test libsodium"
VJOBS=1 ./v -stats test ~/.vmodules/libsodium
- name: Build VEX
continue-on-error: true
run: |
echo "Install Vex dependencies"
sudo apt-get install --quiet -y libsodium-dev libssl-dev sqlite3 libsqlite3-dev
echo "Clone Vex"
mkdir -p ~/.vmodules/nedpals; git clone https://github.com/nedpals/vex ~/.vmodules/nedpals/vex
echo "Compile all of the Vex examples"
./v should-compile-all ~/.vmodules/nedpals/vex/examples
echo "Compile the simple Vex example with -gc boehm -skip-unused"
./v -gc boehm -skip-unused ~/.vmodules/nedpals/vex/examples/simple_example.v
echo "Run Vex Tests"
./v test ~/.vmodules/nedpals/vex
- name: Build go2v
continue-on-error: true
run: |
echo "Clone go2v"
clone --depth=1 https://github.com/vlang/go2v go2v/
echo "Build go2v"
./v go2v/
## echo "Run tests for go2v"
## VJOBS=1 ./v -stats test go2v/
- name: Build vlang/pdf
continue-on-error: true
run: |
git clone --depth=1 https://github.com/vlang/pdf ~/.vmodules/pdf/
echo "PDF examples should compile"
./v should-compile-all ~/.vmodules/pdf/examples