diff options
Diffstat (limited to 'external/meta-updater/scripts/ci/Jenkinsfile.bleeding')
-rw-r--r-- | external/meta-updater/scripts/ci/Jenkinsfile.bleeding | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/external/meta-updater/scripts/ci/Jenkinsfile.bleeding b/external/meta-updater/scripts/ci/Jenkinsfile.bleeding new file mode 100644 index 00000000..6d340fde --- /dev/null +++ b/external/meta-updater/scripts/ci/Jenkinsfile.bleeding @@ -0,0 +1,87 @@ +// This CI setup checks out aktualizr, meta-updater and updater-repo and builds +// master branches whenever a change is pushed to any of these + +// define these for docker image creation +node { + // might cause some problems: + // https://stackoverflow.com/questions/44805076/setting-build-args-for-dockerfile-agent-using-a-jenkins-declarative-pipeline + JENKINS_UID = sh(returnStdout: true, script: 'id -u').trim() + JENKINS_GID = sh(returnStdout: true, script: 'id -g').trim() +} + +pipeline { + agent any + environment { + TEST_AKTUALIZR_REMOTE = 'aktualizr' + TEST_AKTUALIZR_DIR = 'aktualizr' + TEST_AKTUALIZR_BRANCH = 'master' + TEST_BITBAKE_COMMON_DIR = "/opt/jenkins/bitbake-common" + } + stages { + stage('checkout') { + steps { + + checkout([$class: 'GitSCM', + userRemoteConfigs: [ + [url: 'https://github.com/advancedtelematic/aktualizr', name: 'aktualizr'] + ], + branches: [[name: 'refs/heads/master']], + extensions: [ + [$class: 'DisableRemotePoll'], + [$class: 'PruneStaleBranch'], + [$class: 'RelativeTargetDirectory', + relativeTargetDir: 'aktualizr' + ] + ], + ]) + + checkout([$class: 'RepoScm', + manifestRepositoryUrl: 'https://github.com/advancedtelematic/updater-repo', + manifestBranch: null, + manifestFile: 'master.xml', + manifestGroup: null, + mirrorDir: null, + jobs: 0, + depth: 0, + localManifest: null, + destinationDir: 'updater-repo', + repoUrl: null, + currentBranch: false, + resetFirst: true, + quiet: false, + trace: false, + showAllChanges: false, + ]) + + // ignore bitbake build directories in docker + sh 'echo \'build*\' > .dockerignore' + + // override meta-updater commit with currently tested branch + sh ''' + META_UPDATER_COMMIT=$(git rev-parse HEAD) + cd updater-repo/meta-updater + git checkout $META_UPDATER_COMMIT + ''' + } + } + stage('build-core-image-minimal') { + agent { + dockerfile { + filename 'scripts/ci/Dockerfile.bitbake' + args '-v /opt/jenkins/bitbake-common:/opt/jenkins/bitbake-common' + additionalBuildArgs "--build-arg uid=${JENKINS_UID} --build-arg gid=${JENKINS_GID}" + reuseNode true + } + } + environment { + TEST_AKTUALIZR_CREDENTIALS = credentials('garage-credentials') + } + steps { + sh 'scripts/ci/configure.sh' + + sh 'scripts/ci/build.sh core-image-minimal' + } + } + } +} +// vim: set ft=groovy tabstop=2 shiftwidth=2 expandtab: |