def testSuccess = false

pipeline {
  agent any

  options {
    disableConcurrentBuilds()
  }

  stages {
    stage('build') {
      steps {
          sh 'yarn && yarn build'
      }
    }
    stage('release') {
      when { tag "v*" }
      environment {
          NPM_TOKEN = credentials('npm-token')
      }
      steps {
        sh 'echo //registry.npmjs.org/:_authToken=${NPM_TOKEN} > .npmrc'
        sh 'yarn && yarn release'
      }
    }
    stage('test') {
      environment {
	      SOLANA_CUSTOM_ENDPOINT = credentials('sdk-solana-devnet-node-endpoint')
      }
      steps {
        sh 'yarn && yarn test'
      }
    }
  }
  post {
    always {
      cleanWs()
    }
  }
}
