pipeline {
    agent any

    triggers {
        // Every Friday at 07:15
        cron('15 7 * * 5')
    }

    options {
        timeout(time: 15, unit: 'MINUTES')
        timestamps()
        buildDiscarder(logRotator(numToKeepStr: '10'))
        disableConcurrentBuilds()
    }

    stages {
        stage('Install dependencies') {
            steps {
                sh """
                    python3 -m venv venv
                    . venv/bin/activate
                    pip install --upgrade pip --quiet
                    pip install --quiet atproto
                """
            }
        }

        stage('Post Dijous') {
            steps {
                // Securely injects Jenkins credentials as environment variables
                withCredentials([
                    string(credentialsId: 'BSKY_GROMENAWARE_HANDLE', variable: 'BSKY_GROMENAWARE_HANDLE'),
                    string(credentialsId: 'BSKY_GROMENAWARE_APP_PASSWORD', variable: 'BSKY_GROMENAWARE_APP_PASSWORD')
                ])
                sh """
                    . venv/bin/activate
                    python3 bsky_post.py "DIVENDRES!!!!!!" \\
                        --username "\$BSKY_HANDLE" \\
                        --password "\$BSKY_APP_PASSWORD" \\
                        --image media/divendres.mp4 \\
                        --alt "DIVENDRES!!" \\
                        --lang ca
                """
            }
        }
    }

    post {
        success {
            echo '✅ Divendres post published successfully.'
        }
        failure {
            echo '❌ Divendres post failed.'
        }
    }
}