Some checks failed
andreas-personal/AndysAdguardHomeBlocklist/pipeline/head There was a failure building this commit
83 lines
2.4 KiB
Groovy
83 lines
2.4 KiB
Groovy
#!groovy
|
|
|
|
pipeline {
|
|
agent {
|
|
label 'linux'
|
|
}
|
|
triggers {
|
|
cron('H 12,0 * * *')
|
|
}
|
|
stages {
|
|
stage('Checkout') {
|
|
when {
|
|
beforeAgent true;
|
|
branch 'main'
|
|
}
|
|
steps {
|
|
sh 'git checkout main'
|
|
}
|
|
}
|
|
stage('Check last Commit') {
|
|
when {
|
|
beforeAgent true;
|
|
branch 'main'
|
|
}
|
|
steps {
|
|
script {
|
|
def causes = currentBuild.getBuildCauses()
|
|
echo "Build causes: ${causes}"
|
|
def causedByScmEvent = causes.any {
|
|
it._class == 'hudson.triggers.SCMTrigger$SCMTriggerCause' ||
|
|
it._class == 'jenkins.branch.BranchEventCause'
|
|
}
|
|
echo "Caused by SCM event: ${causedByScmEvent}"
|
|
if (!causedByScmEvent) {
|
|
echo 'Not triggered by SCM, continuing build'
|
|
} else if (sh(script: 'git log -1 --pretty=format:"%an"', returnStdout: true).trim() == 'Jenkins') {
|
|
currentBuild.result = 'ABORTED'
|
|
error('Last commit was by Jenkins, skipping build')
|
|
} else {
|
|
echo 'Last commit was not by Jenkins, continuing build'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
stage('Compile Adblock List') {
|
|
when {
|
|
beforeAgent true;
|
|
branch 'main'
|
|
}
|
|
steps {
|
|
withGradle {
|
|
sh './gradlew :compileAdblockList'
|
|
}
|
|
sh '''
|
|
git add out/andysadguardhomeblocklist.txt
|
|
git commit -m "Update Compiled Adblock List"
|
|
'''
|
|
}
|
|
}
|
|
stage('git push') {
|
|
when {
|
|
beforeAgent true;
|
|
branch 'main'
|
|
}
|
|
steps {
|
|
withCredentials([
|
|
gitUsernamePassword(credentialsId: 'gitea-jenkins-user-token')
|
|
]) {
|
|
sh '''
|
|
git pull origin main
|
|
git push
|
|
'''
|
|
}
|
|
}
|
|
}
|
|
}
|
|
post {
|
|
always {
|
|
deleteDir()
|
|
}
|
|
}
|
|
}
|