summaryrefslogtreecommitdiffstats
path: root/Jenkinsfile
blob: 56911d9366fc38b45e8c47be9c16f7700a517469 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
pipeline {
    agent any

    stages {
        stage('Clone package source') {
            steps {
                sh 'echo "Repo: ${env.GIT_URL}"'
                sh 'git clone ${env.GIT_URL} src'
            }
        }

        stage('Build in chroot') {
            steps {
                sh '''
                docker run --rm -i \
                    -v $PWD/src:/home/builder/pkg \
                    -v $PWD/builds:/home/builder/builds \
                    archlinux:latest bash -c "
                      pacman -Syu --noconfirm base-devel git sudo devtools && \
                      useradd -m builder && \
                      echo 'builder ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/builder && \
                      chown -R builder:builder /home/builder/pkg /home/builder/builds && \
                      su builder -c '
                        cd /home/builder/pkg && \
                        extra-x86_64-build -- -c
                      '
                    "
                '''
            }
        }
    }

    post {
        always {
            archiveArtifacts artifacts: 'builds/**/*.pkg.tar.zst', allowEmptyArchive: true
        }
    }
}