name: CI
on: [push, pull_request]
jobs:
  build-osx:
    runs-on: macOS-10.14
    steps:
    - uses: actions/checkout@v1
    - uses: actions/setup-node@v1
      with:
        node-version: 12.x
    - name: Build and test
      run: |
        brew install freetype glfw openssl
        export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/opt/openssl/lib/"
        make
        ./v -o v compiler
        ./v test v
        ./v -o hi.js examples/hello_v_js.v
        node hi.js
        git clone --depth 1 https://github.com/vlang/vid.git
        cd vid && ../v -debug -o vid .
  build-ubuntu:
    runs-on: ubuntu-18.04
    steps:
    - uses: actions/checkout@v1
    - uses: actions/setup-node@v1
      with:
        node-version: 12.x
    - name: Build and test
      run: |
        sudo apt-get update && sudo apt-get install -y libglfw3 libglfw3-dev libfreetype6-dev libssl-dev
        make
        ./v -o v compiler
        ./v test v
        ./v -o hi.js examples/hello_v_js.v
        node hi.js
  build-windows-gcc:
    runs-on: windows-2019
    steps:
    - uses: actions/checkout@v1
    #- uses: actions/setup-node@v1
    #  with:
    #    node-version: 12.x
    - name: Build
      run: |
        git clone --depth=1 https://github.com/ubawurinna/freetype-windows-binaries.git thirdparty/freetype/
        .\make.bat -gcc
    - name: Test
      run: |
        .\v.exe test v
      ## v.js dosent work on windows
        #.\v.exe -o hi.js examples/hello_v_js.v
        #node hi.js
  build-windows-msvc:
    runs-on: windows-2019
    steps:
    - uses: actions/checkout@v1
    #- uses: actions/setup-node@v1
    #  with:
    #    node-version: 12.x
    - name: Build
      env:
        VFLAGS: -os msvc
      run: |
        git clone --depth=1 https://github.com/ubawurinna/freetype-windows-binaries.git thirdparty/freetype/
        .\make.bat -msvc
    - name: Test
      env:
        VFLAGS: -os msvc
      run: |
        .\v.exe test v
      ## v.js dosent work on windows
        #.\v.exe -o hi.js examples/hello_v_js.v
        #node hi.js