pipeline {
  agent any

  environment {
    NODE_ENV = 'production'
    CLOUDFLARE_ACCOUNT_ID = credentials('cloudflare-account-id')
    CLOUDFLARE_API_TOKEN = credentials('cloudflare-api-token')
    PROJECT_NAME = 'tombutcher-cdn'
  }

  tools {
    nodejs 'Node23'  // This should match the name of your NodeJS installation in Jenkins tools
  }

  stages {
    stage('Checkout') {
      steps {
        checkout scm  // Checkout the repository
      }
    }

    stage('Deploy to Cloudflare Pages') {
      steps {
        sh 'npx wrangler pages deploy . --project-name $PROJECT_NAME --branch main'
      }
    }
  }

  post {
    failure {
      echo 'Build or deployment failed.'
    }
    success {
      echo 'Successfully deployed to Cloudflare Pages.'
    }
  }
}
