summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Jenkinsfile39
1 files changed, 39 insertions, 0 deletions
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..56911d9
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,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
+ }
+ }
+}
+