this repo has no description
at fixPythonPipStalling 128 lines 2.8 kB view raw
1pipeline { 2 agent { 3 docker { 4 image 'registry.git.facekapow.dev/darling-build-image-top:latest' 5 registryUrl 'https://registry.git.facekapow.dev' 6 alwaysPull true 7 args '-u ci:ci -v /var/run/docker.sock:/var/run/docker.sock --group-add docker' 8 label 'darling' 9 } 10 } 11 12 parameters { 13 booleanParam(name: 'DEB', defaultValue: true, description: 'If true, build Debian packages.') 14 booleanParam(name: 'RPM', defaultValue: true, description: 'If true, build RPM packages.') 15 } 16 17 triggers { 18 githubPush() 19 } 20 21 environment { 22 ESCAPED_JOB_NAME = sh(script: 'echo "${JOB_NAME}" | sed \'s/\\//-/g\'', returnStdout: true).trim() 23 CCACHE_DIR = credentials('darling-ccache-dir') 24 } 25 26 options { 27 skipDefaultCheckout() 28 disableConcurrentBuilds abortPrevious: true 29 } 30 31 stages { 32 stage('Start Job') { 33 steps { 34 scmSkip(deleteBuild: true, skipPattern:'.*\\[ci skip\\].*') 35 36 dir('source') { 37 checkout scm 38 } 39 } 40 } 41 42 stage('Prepare') { 43 steps { 44 dir('source') { 45 sh 'git submodule update --init --recursive' 46 sh 'cd src/external/swift && git lfs install && git lfs pull' 47 touch '../.submodules-cloned' 48 } 49 } 50 } 51 52 stage('Build Debian') { 53 when { expression { params.DEB } } 54 agent { 55 docker { 56 image 'registry.git.facekapow.dev/darling-build-image:latest' 57 registryUrl 'https://registry.git.facekapow.dev' 58 alwaysPull true 59 args '-u ci:ci -v ${WORKSPACE}/source:/src/mnt:rw -v ${CCACHE_DIR}:/ccache:rw' 60 label 'darling' 61 reuseNode true 62 } 63 } 64 environment { 65 DEB_DISTRO = sh(script: 'lsb_release -cs', returnStdout: true).trim() 66 CCACHE_DIR = '/ccache' 67 CCACHE_BASEDIR = '/src/mnt' 68 } 69 steps { 70 //sh 'tools/debian/make-deb --dsc' 71 sh '''#!/bin/bash 72 pushd /src/mnt 73 tools/debian/make-deb 74 popd 75 ''' 76 77 sh 'rm -rf out-deb' 78 sh 'mkdir out-deb' 79 80 dir('out-deb') { 81 sh 'mv /src/*.deb ./' 82 } 83 84 archiveArtifacts artifacts: 'out-deb/**/*', fingerprint: true 85 } 86 } 87 88 stage('Build RPM') { 89 when { expression { params.RPM } } 90 agent { 91 docker { 92 image 'registry.git.facekapow.dev/darling-build-image-fedora:latest' 93 registryUrl 'https://registry.git.facekapow.dev' 94 alwaysPull true 95 args '-v ${WORKSPACE}/source:/src:ro -v ${CCACHE_DIR}:/ccache:rw' 96 label 'darling' 97 reuseNode true 98 } 99 } 100 environment { 101 CCACHE_DIR = '/ccache' 102 CCACHE_BASEDIR = '/home/ci/rpmbuild/BUILD/darling' 103 } 104 steps { 105 sh 'bash -xv /src/rpm/build.bsh' 106 107 sh 'rm -rf out-rpm' 108 sh 'mkdir out-rpm' 109 110 dir('out-rpm') { 111 sh 'mv ${HOME}/rpmbuild/RPMS/x86_64/*.rpm ./' 112 } 113 114 archiveArtifacts artifacts: 'out-rpm/**/*', fingerprint: true 115 } 116 } 117 } 118 119 post { 120 cleanup { 121 script { 122 if (!fileExists('.submodules-cloned')) { 123 sh 'rm -rf source' 124 } 125 } 126 } 127 } 128}