language: node_js node_js: - '8' - 'node' - 'lts/*' install: - npm install jobs: include: - stage: test script: - node --version - npm --version - echo "Testing Started ..." - npm test - echo "Testing Finished." after_success: - npm run coverage - stage: tagged-prerelease if: tag =~ ^v\d+\.\d+\.\d+-.*$ deploy: provider: releases api_key: '$GH_TOKEN' skip_cleanup: false on: tags: true prerelease: true - stage: npm-prerelease if: tag =~ ^v\d+\.\d+\.\d+-.*$ script: - echo "NPM Deploying Started ..." - npm run build - echo "NPM Building Finished." deploy: edge: true provider: npm email: starry@vip.qq.com api_key: '$NPM_TOKEN' skip_cleanup: true tag: beta on: tags: true - stage: tagged-release if: tag =~ ^v\d+\.\d+\.\d+$ deploy: provider: releases api_key: '$GH_TOKEN' skip_cleanup: false on: tags: true - stage: npm-release if: tag =~ ^v\d+\.\d+\.\d+$ script: - echo "NPM Deploying Started ..." - npm run build - echo "NPM Building Finished." deploy: edge: true provider: npm email: starry@vip.qq.com api_key: '$NPM_TOKEN' skip_cleanup: true on: tags: true