v/.travis.yml

90 lines
2.2 KiB
YAML

language: c
matrix:
include:
- os: linux
name: "linux"
dist: xenial
sudo: required
addons:
apt:
packages:
- build-essential
- libglfw3
- libglfw3-dev
- libfreetype6-dev
- libssl-dev
- os: windows
name: "windows_gcc"
language: bash
filter_secrets: false
- os: windows
name: "windows_msvc"
language: bash
filter_secrets: false
- os: osx
name: "osx"
osx_image: xcode11
addons:
homebrew:
packages:
- freetype
- glfw
- openssl
script:
- |
if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/
fi
- |
if [[ "${TRAVIS_OS_NAME}" == "windows" ]]; then
### troubleshooting and diagnostics: show ALL environment variables in the instance
#set
set -e
git clone --depth=1 https://github.com/ubawurinna/freetype-windows-binaries thirdparty/freetype/
if [[ "${TRAVIS_JOB_NAME}" == "windows_gcc" ]]; then
gcc --version
echo "Building V with GCC"
./make.bat -gcc
fi
if [[ "${TRAVIS_JOB_NAME}" == "windows_msvc" ]]; then
echo "Building V with MSVC"
export VFLAGS="-cc msvc"
./make.bat -msvc
fi
./v.exe test v
set +e
fi
- |
if [[ "${TRAVIS_OS_NAME}" != "windows" ]]; then
make
./v -o v v.v
./v test v
fi
- |
if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then
## aliases do not work for some reason in travis, just use full commands :-|
echo "Nodejs version:"
node --version
# Build hi.js
echo "fn main(){ println('Hello from V.js') }" > hi.v
./v -o hi.js hi.v
node hi.js
fi
- |
if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
echo "Nodejs version:"
node --version
# Build hi.js
echo "fn main(){ println('Hello from V.js') }" > hi.v
./v -o hi.js hi.v
node hi.js
fi
- |
if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
# Build Vid
git clone https://github.com/vlang/vid
cd vid && ../v -o vid .
fi