pipeline {
  agent any
  environment {
    DEPLOY_HOST = 'web@38.114.101.142'
    DEPLOY_PATH = '/srv/www/masha-site'
    SSH_CRED_ID = 'web-ssh'
    HUGO_VERSION = '0.149.0'
  }
  triggers {
    githubPush()
  }
  stages {
    stage('Checkout') {
      steps {
        checkout scm
        sh 'git submodule sync --recursive && git submodule update --init --recursive --remote'      }
    }
    stage('Setup Hugo') {
        steps {
            sh '''
            mkdir -p tools
            cd tools
            curl -L -o hugo.tar.gz https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz
            tar -xzf hugo.tar.gz
            chmod +x hugo
            '''
        }
    }

    stage('Build site') {
      steps {
        sh './tools/hugo --minify'
      }
    }
    stage('Deploy') {
      steps {
        sshagent(credentials: [env.SSH_CRED_ID]) {
          sh 'bash deploy/deploy.sh $DEPLOY_HOST $DEPLOY_PATH'
        }
      }
    }
  }
  post {
    success { echo 'Deployed' }
    failure { echo 'Failed' }
  }
}
