This repository has been archived on 2025-03-20. You can view files and clone it, but cannot push or open issues or pull requests.
build-containers/build-signal.jenkins
2023-10-29 11:14:14 -05:00

87 lines
2.8 KiB
Plaintext

def repository = "registry.c.test-chamber-13.lan"
def repositoryCreds = "harbor-repository-creds"
def label = "kubernetes-${UUID.randomUUID().toString()}"
def templateName = "pipeline-worker"
def outputFile
podTemplate(
label: label,
name: templateName,
yaml: functions.podYaml(
repo: repository,
templateName: templateName,
alpine: true,
[
[
name: "node-18",
path: "${repository}/dockerhub/library/node:18.15",
command: "/bin/bash"
]
]
)
) {
node (label) {
def workspace = pwd()
stage ("Clone Signal") {
dir("signal-desktop") {
checkout ([
$class: "GitSCM",
branches: [
[
name: "refs/heads/main",
],
],
userRemoteConfigs: [
[
url: "https://github.com/signalapp/Signal-Desktop.git",
],
],
extensions: [
[
$class: "CloneOption",
shallow: true,
depth: 1
],
[
$class: "CheckoutOption",
timeout: 2
],
],
])
}
}
stage ("Build Signal") {
container ("node-18") {
writeFile(file: workspace + "/test-chamber-13.lan.root.crt", text: functions.getCurrentRootCA())
sh """
git config --global --add safe.directory '*'
apt-get update -yqq && apt-get full-upgrade -yqq
apt-get install -yqq curl wget git jq git-lfs
cd ${workspace}/signal-desktop
cat package.json | jq '.build.linux += {target:["AppImage"]}' > with_appimage_package.json
mv with_appimage_package.json package.json
yarn install
yarn build-release
"""
outputFile = sh (
script: """
basename \$(find ${workspace}/signal-desktop/ -name "*.AppImage")
""",
returnStdout: true
).trim()
}
}
functions.pushArtifact(
repoCreds: "nexus-generic-upload-bot",
fileName: outputFile,
filePath: "${workspace}/release/",
fileURL: "https://nexus.c.test-chamber-13.lan/repository/generic/signal/"
)
}
}