fix: jenkinscript (#304)

* chore: add jenkinsfile for tests
* chore: remove old jenkinsfile
* fix: lint
* fix: update cc-test-reporter
This commit is contained in:
Richard Ramos 2022-09-12 10:13:38 -04:00 committed by GitHub
parent 3716ebdf1d
commit cd79be4812
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 6 additions and 117 deletions

View File

@ -76,7 +76,7 @@ _before-cc:
CC_TEST_REPORTER_ID=${CC_TEST_REPORTER_ID} ./coverage/cc-test-reporter before-build
_after-cc:
CC_TEST_REPORTER_ID=${CC_TEST_REPORTER_ID} ./coverage/cc-test-reporter after-build --prefix ${CC_PREFIX}
GIT_COMMIT=$(git log | grep -m1 -oE '[^ ]+$') CC_TEST_REPORTER_ID=${CC_TEST_REPORTER_ID} ./coverage/cc-test-reporter after-build --prefix ${CC_PREFIX}
test-ci: _before-cc test _after-cc

94
ci/Jenkinsfile vendored
View File

@ -1,94 +0,0 @@
library 'status-jenkins-lib@v1.4.3'
pipeline {
agent { label 'linux' }
options {
timestamps()
disableConcurrentBuilds()
/* Prevent Jenkins jobs from running forever */
timeout(time: 40, unit: 'MINUTES')
/* Limit builds retained */
buildDiscarder(logRotator(
numToKeepStr: '10',
daysToKeepStr: '30',
artifactNumToKeepStr: '10',
))
}
/* WARNING: Defining parameters here with the ?: trick causes them to remember last value. */
parameters {
booleanParam(
name: 'PUBLISH',
description: 'Trigger publishing of build results for nightly or release.',
defaultValue: getPublishDefault(params.PUBLISH),
)
}
stages {
stage('Build') {
parallel {
stage('iOS') { steps { script {
ios = jenkins.Build('go-waku/platforms/ios')
} } }
stage('Android') { steps { script {
android = jenkins.Build('go-waku/platforms/android')
} } }
}
}
stage('Archive') {
steps { script {
sh('rm -f pkg/*')
jenkins.copyArts(ios)
jenkins.copyArts(android)
sha = "pkg/${utils.pkgFilename(ext: 'sha256')}"
dir('pkg') {
/* generate sha256 checksums for upload */
sh "sha256sum * | tee ../${sha}"
archiveArtifacts('*')
}
} }
}
stage('Upload') {
steps { script {
/* object for easier URLs handling */
urls = [
/* mobile */
Android: utils.pkgUrl(android),
// iOS: utils.pkgUrl(ios),
/* upload the sha256 checksums file too */
SHA: s3.uploadArtifact(sha),
]
/* add URLs to the build description */
jenkins.setBuildDesc(urls)
} }
}
stage('Publish') {
when { expression { params.PUBLISH } }
steps { script {
github.publishReleaseFiles(repo: 'status-desktop');
} }
}
}
}
/* Helper that generates list of available choices for a parameter
* but re-orders them based on the currently set value. First is default. */
def List genChoices(String previousChoice, List defaultChoices) {
if (previousChoice == null) {
return defaultChoices
}
choices = defaultChoices.minus(previousChoice)
choices.add(0, previousChoice)
return choices
}
/* Helper that makes PUBLISH default to 'false' unless:
* - The build is for a release branch
* - A user explicitly specified a value
* Since release builds create and re-create GitHub drafts every time. */
def Boolean getPublishDefault(Boolean previousValue) {
if (env.JOB_NAME.startsWith('go-waku/release')) { return true }
if (previousValue != null) { return previousValue }
return false
}

View File

@ -46,8 +46,6 @@ pipeline {
)
sh 'make install-gomobile'
println("Output: ${env.ARTIFACT}")
} } } }
stage('Build') { steps { dir(env.REPO) {

View File

@ -29,21 +29,6 @@ pipeline {
stage('Test') {
steps { sh 'make test-ci' }
}
stage('Build example') {
steps { sh 'make build-example' }
}
stage('Build go-mobile') {
parallel {
stage('Linux') { steps { script {
linux = jenkins.Build('go-waku/platforms/linux')
} } }
stage('MacOS') { steps { script {
macos = jenkins.Build('go-waku/platforms/macos')
} } }
}
}
}
post {
always { cleanWs() }

Binary file not shown.

View File

@ -364,7 +364,7 @@ func (w *WakuNode) Stop() {
w.relay.Stop()
w.lightPush.Stop()
w.store.Stop()
w.stopRlnRelay()
_ = w.stopRlnRelay()
w.host.Close()

View File

@ -69,7 +69,7 @@ func (r *RelayService) Start() {
// Node may already be subscribed to some topics when Relay API handlers are installed. Let's add these
for _, topic := range r.node.Relay().Topics() {
r.log.Info("adding topic handler for existing subscription", zap.String("topic", topic))
r.messages[topic] = make([]*pb.WakuMessage, 0)
r.messages[topic] = []*pb.WakuMessage{}
}
r.runner.Start()
@ -129,7 +129,7 @@ func (d *RelayService) postV1Subscriptions(w http.ResponseWriter, r *http.Reques
} else {
d.node.Broadcaster().Unregister(&topicToSubscribe, sub.C)
d.messages[topic] = make([]*pb.WakuMessage, 0)
d.messages[topic] = []*pb.WakuMessage{}
}
}
@ -156,11 +156,11 @@ func (d *RelayService) getV1Messages(w http.ResponseWriter, r *http.Request) {
return
}
response := make([]*pb.WakuMessage, len(d.messages[topic]))
var response []*pb.WakuMessage
for i := range d.messages[topic] {
response = append(response, d.messages[topic][i])
}
d.messages[topic] = make([]*pb.WakuMessage, 0)
d.messages[topic] = []*pb.WakuMessage{}
writeErrOrResponse(w, nil, response)
}