os: linux
language: node_js

jobs:
  include:
    - stage: "Test"
      name: "Lint"
      language: node_js
      node_js: 10
      script:
        - npm run jsonlint
        - npm run svglint
        - npm run wslint
        - npm run our-lint
    - name: "Build website"
      language: ruby
      rvm: 2.4.1
      install:
        - gem install jekyll
      script:
        - jekyll build
    - name: "Test package"
      language: node_js
      node_js: 10
      script:
        - npm run test

    - stage: deploy
      name: "Git tag"
      language: shell
      if: branch = master

      before_deploy:
        - git config --local user.name "$GITHUB_USERNAME"
        - git config --local user.email "$GITHUB_EMAIL"
        - export PACKAGE_VERSION=$(cat package.json | grep 'version' | sed 's/[ \",:]//g' | sed 's/version//')
        - git tag $PACKAGE_VERSION
      deploy:
        provider: releases
        token: "$GITHUB_TOKEN"
    - name: "NPM Package"
      language: node_js
      node_js: 10
      if: branch = master

      deploy:
        edge: true
        provider: npm
        email: "$NPM_EMAIL"
        api_token: "$NPM_KEY"
        on:
          branch: master

notifications:
  email:
    on_success: never
    on_failure: change