name: Periodic

on:
  schedule:
    - cron:  '31 1,12 * * *'

jobs:
  network-tests-ubuntu-tcc:
    runs-on: ubuntu-latest
    env:
      VFLAGS: -cc tcc
    steps:
    - uses: actions/checkout@v2
    - name: Install dependencies
      run: sudo apt-get install --quiet -y libssl-dev sqlite3 libsqlite3-dev 
    - name: Build v
      run: echo $VFLAGS && make -j4 && ./v -cg -o v cmd/v
    - name: Symlink V
      run:  sudo ./v symlink
    - name: Symlink tcc where v can find it
      run: |
        sudo ln -s /var/tmp/tcc/bin/tcc /usr/local/bin/tcc
        tcc -version
    - name: Run network tests
      run: ./v -d network test-fixed


  network-tests-macos:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [macOS-latest]
    steps:
    - uses: actions/checkout@v2
    - name: Setup openssl library path
      run: export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/opt/openssl/lib/"
    - name: Build V
      run:  make -j4
    - name: Symlink V
      run:  sudo ./v symlink
    - name: Ensure thirdparty/cJSON/cJSON.o is compiled, before running tests.
      run:  ./v examples/json.v
    - name: Run network tests
      run: ./v -d network test-fixed


  network-windows-msvc:
    runs-on: windows-2019
    env:
        VFLAGS: -cc msvc
    steps:
    - uses: actions/checkout@v2
    - name: Build
      run: |
        echo %VFLAGS%
        echo $VFLAGS
        .\make.bat -msvc
    - name: Run network tests
      run: .\v.exe -d network test-fixed