pipeline { agent { docker { image 'hub.davinti.com.br:443/infra/node:latest' args '-u root' } } environment { S3_BUCKET = "s3://app-dono-manifests" } stages { stage('Install') { steps { sh 'npm install' } } stage('Vet') { steps { echo 'Validating modules (Standard for all branches)...' sh 'npx jeff vet -i "src/**/*.module.ts" --strict' } } stage('Generate & Upload') { when { branch 'main' } steps { echo 'Generating manifest and deploying to S3...' sh 'npm run generate:output' withAWS(credentials: 'aws-jeff-credentials-id', region: 'sa-east-1') { script { echo "Uploading to S3..." sh "aws s3 cp dist/manifest.json ${S3_BUCKET}/manifest.json" } } } } } post { always { echo "Finished build for ${env.BRANCH_NAME}" } } }