add support for posting PR builds in GitHub comments
Signed-off-by: Jakub Sokołowski <jakub@status.im>
This commit is contained in:
parent
a342192f43
commit
7d16216c3b
|
@ -6,7 +6,7 @@ RUN export DEBIAN_FRONTEND=noninteractive \
|
||||||
&& sudo add-apt-repository -y ppa:git-core/ppa \
|
&& sudo add-apt-repository -y ppa:git-core/ppa \
|
||||||
&& sudo apt update -yq \
|
&& sudo apt update -yq \
|
||||||
&& sudo apt install -yq --fix-missing \
|
&& sudo apt install -yq --fix-missing \
|
||||||
build-essential cmake git libpcre3-dev
|
build-essential cmake git libpcre3-dev s3cmd
|
||||||
|
|
||||||
# Installing Golang
|
# Installing Golang
|
||||||
RUN GOLANG_SHA256="aed845e4185a0b2a3c3d5e1d0a35491702c55889192bb9c30e67a3de6849c067" \
|
RUN GOLANG_SHA256="aed845e4185a0b2a3c3d5e1d0a35491702c55889192bb9c30e67a3de6849c067" \
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
library 'status-react-jenkins@v1.2.0'
|
||||||
|
|
||||||
pipeline {
|
pipeline {
|
||||||
agent {
|
agent {
|
||||||
docker {
|
docker {
|
||||||
|
@ -20,6 +22,7 @@ pipeline {
|
||||||
}
|
}
|
||||||
|
|
||||||
environment {
|
environment {
|
||||||
|
TARGET = 'linux'
|
||||||
/* Improve make performance */
|
/* Improve make performance */
|
||||||
MAKEFLAGS = '-j4'
|
MAKEFLAGS = '-j4'
|
||||||
/* Disable colors in Nim compiler logs */
|
/* Disable colors in Nim compiler logs */
|
||||||
|
@ -29,7 +32,7 @@ pipeline {
|
||||||
/* Makefile assumes the compiler folder is included */
|
/* Makefile assumes the compiler folder is included */
|
||||||
QTDIR = "/opt/qt/5.14.0/gcc_64"
|
QTDIR = "/opt/qt/5.14.0/gcc_64"
|
||||||
/* Control output the filename */
|
/* Control output the filename */
|
||||||
STATUS_CLIENT_APPIMAGE = "pkg/${load('ci/lib.groovy').pkgFilename('linux', 'AppImage')}"
|
STATUS_CLIENT_APPIMAGE = "pkg/${utils.pkgFilename('AppImage')}"
|
||||||
}
|
}
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
|
@ -62,13 +65,24 @@ pipeline {
|
||||||
steps { sh 'make pkg-linux' }
|
steps { sh 'make pkg-linux' }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
stage('Parallel Upload') {
|
||||||
|
parallel {
|
||||||
|
stage('Upload') {
|
||||||
|
steps { script {
|
||||||
|
env.PKG_URL = s3.uploadArtifact(env.STATUS_CLIENT_APPIMAGE)
|
||||||
|
} }
|
||||||
|
}
|
||||||
stage('Archive') {
|
stage('Archive') {
|
||||||
steps { script {
|
steps { script {
|
||||||
archiveArtifacts(env.STATUS_CLIENT_APPIMAGE)
|
archiveArtifacts(env.STATUS_CLIENT_APPIMAGE)
|
||||||
} }
|
} }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
post {
|
post {
|
||||||
|
success { script { github.notifyPR(true) } }
|
||||||
|
failure { script { github.notifyPR(false) } }
|
||||||
always { cleanWs() }
|
always { cleanWs() }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
library 'status-react-jenkins@v1.2.0'
|
||||||
|
|
||||||
pipeline {
|
pipeline {
|
||||||
agent {
|
agent {
|
||||||
label 'macos'
|
label 'macos'
|
||||||
|
@ -15,6 +17,7 @@ pipeline {
|
||||||
}
|
}
|
||||||
|
|
||||||
environment {
|
environment {
|
||||||
|
TARGET = 'macos'
|
||||||
/* Improve make performance */
|
/* Improve make performance */
|
||||||
MAKEFLAGS = '-j4'
|
MAKEFLAGS = '-j4'
|
||||||
/* Disable colors in Nim compiler logs */
|
/* Disable colors in Nim compiler logs */
|
||||||
|
@ -23,7 +26,7 @@ pipeline {
|
||||||
QTDIR = '/usr/local/qt/clang_64'
|
QTDIR = '/usr/local/qt/clang_64'
|
||||||
PATH = "${env.QTDIR}/bin:${env.PATH}"
|
PATH = "${env.QTDIR}/bin:${env.PATH}"
|
||||||
/* Control output the filename */
|
/* Control output the filename */
|
||||||
STATUS_CLIENT_DMG = "pkg/${load('ci/lib.groovy').pkgFilename('macos', 'dmg')}"
|
STATUS_CLIENT_DMG = "pkg/${utils.pkgFilename('dmg')}"
|
||||||
}
|
}
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
|
@ -71,13 +74,24 @@ pipeline {
|
||||||
}
|
}
|
||||||
} }
|
} }
|
||||||
|
|
||||||
|
stage('Parallel Upload') {
|
||||||
|
parallel {
|
||||||
|
stage('Upload') {
|
||||||
|
steps { script {
|
||||||
|
env.PKG_URL = s3.uploadArtifact(env.STATUS_CLIENT_DMG)
|
||||||
|
} }
|
||||||
|
}
|
||||||
stage('Archive') {
|
stage('Archive') {
|
||||||
steps { script {
|
steps { script {
|
||||||
archiveArtifacts(env.STATUS_CLIENT_DMG)
|
archiveArtifacts(env.STATUS_CLIENT_DMG)
|
||||||
} }
|
} }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
post {
|
post {
|
||||||
|
success { script { github.notifyPR(true) } }
|
||||||
|
failure { script { github.notifyPR(false) } }
|
||||||
always { cleanWs() }
|
always { cleanWs() }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
def parentOrCurrentBuild() {
|
|
||||||
def c = currentBuild.rawBuild.getCause(hudson.model.Cause$UpstreamCause)
|
|
||||||
if (c == null) { return currentBuild }
|
|
||||||
return c.getUpstreamRun()
|
|
||||||
}
|
|
||||||
|
|
||||||
def timestamp() {
|
|
||||||
/* we use parent if available to make timestmaps consistent */
|
|
||||||
def now = new Date(parentOrCurrentBuild().timeInMillis)
|
|
||||||
return now.format('yyMMdd-HHmmss', TimeZone.getTimeZone('UTC'))
|
|
||||||
}
|
|
||||||
|
|
||||||
def gitCommit() {
|
|
||||||
return env.GIT_COMMIT.take(6)
|
|
||||||
}
|
|
||||||
|
|
||||||
def pkgFilename(type, ext, arch=null) {
|
|
||||||
/* the grep removes the null arch */
|
|
||||||
return [
|
|
||||||
"StatusIm", timestamp(), gitCommit(), type, arch,
|
|
||||||
].grep().join('-') + ".${ext}"
|
|
||||||
}
|
|
||||||
|
|
||||||
return this
|
|
Loading…
Reference in New Issue