language: node_js
node_js:
  - node
  - lts/*
  - '13'
  - '12'
  - '10'

os:
  - osx
  - linux
  - windows

osx_image: xcode9.2

addons:
  apt:
    sources:
    - ubuntu-toolchain-r-test
    packages:
    - g++-7

cache:
  npm: false

before_install:
  - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export CC=gcc-7 && CXX=g++-7; fi
  - if ! [[ "$TRAVIS_OS_NAME" == "windows" ]]; then npm run fetch-libsodium; fi

before_deploy:
  - ARCHIVE_NAME="${TRAVIS_TAG:-latest}-$TRAVIS_OS_NAME-`uname -m`.tar"
  - npm run prebuild
  - if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then npm run prebuild-ia32; ARCHIVE_NAME="${TRAVIS_TAG:-latest}-$TRAVIS_OS_NAME-all.tar";  fi
  - tar --create --verbose --file="$ARCHIVE_NAME" --directory "$TRAVIS_BUILD_DIR/prebuilds" .

deploy:
  provider: releases
  draft: false
  prerelease: true
  api_key:
    secure: "Dyt26BPvgc8D+QytEXvPnqwUNWspMwderocXuiu2pwXGXIGZw8e7bLvqNo9KdS2Tp4WeeTv9EQCveHcl/5lZYCuNZLwFkRMK9BU9O6hUI0gbRFidhgqijeB98/4dZ23ZxcuZCtHpsNpwwfMUlrG/ofGgL+ETOQn5fIZZbGfvN2Ewr+K6si7x7/gNS01AlR1tseqRAk/idN1NIfoFi1bOT0oc9uBKoKD/jgAM3rzO9B09XtzTaDxAPmPRj05Po4mYuwDDLL7KnebrarqE3AfrSTudTPXHxn1ZtIJuEPu8clKDgdZHS4g9Z6Pp3AprhNRtySHmyFIAcXPUeGLF4XVzGJzLUG/7vm5NFU4R65/yQDql8jZ0trqgSpWkpyne7LElEnZe+xb2oVp1Qw7ovXH2tYx+gBcEuH3z15uLqbP3uhZh6lTVL8n+ET3l4+Y4G6VkG3KDcsJYkLNsk68rwS0X5LKu2Tqc8zAYqpoXClDQmIp7LqYinwMkjvkWxt5KrAd6XFt/N12Ev3+2uKC9JI00WV3MJY1YMwUR8pNsMrflZ7PHw1qTJatlsLlJUiUuvOC5Q7qgSf5FZmHNyf32Bu/opPaTxVS8ekRXAiGIB9ASw6iw79G/rggoi2EuDsytleoeEToPbSCGJCV2l0tBo3d+gBjLAElLtBUBOtSPs4HyEzg="
  file: "$ARCHIVE_NAME"
  skip_cleanup: true
  on:
    tags: true
    node: 'lts/*'
