summaryrefslogtreecommitdiffstats
path: root/external/meta-updater/scripts/ci/Jenkinsfile.bleeding
diff options
context:
space:
mode:
Diffstat (limited to 'external/meta-updater/scripts/ci/Jenkinsfile.bleeding')
-rw-r--r--external/meta-updater/scripts/ci/Jenkinsfile.bleeding87
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: