Allows MixPanel to be configured per environment. The hardcoded MixPanel app ID and token are removed from the code (see the parent issue for more details). The token can be exploited and that’s by design in most analytics tools https://developer.mixpanel.com/reference/project-token. Fixes https://github.com/status-im/status-mobile/issues/21974 Areas that may be impacted - Analytics
49 lines
938 B
Groovy
49 lines
938 B
Groovy
#!/usr/bin/env groovy
|
|
library 'status-jenkins-lib@v1.9.20'
|
|
|
|
pipeline {
|
|
agent {
|
|
label 'linux'
|
|
}
|
|
|
|
triggers {
|
|
cron('H 5 * * *')
|
|
}
|
|
|
|
options {
|
|
timestamps()
|
|
/* Prevent Jenkins jobs from running forever */
|
|
timeout(time: 15, unit: 'MINUTES')
|
|
/* Disable concurrent jobs */
|
|
disableConcurrentBuilds()
|
|
/* Don't keep more than 50 builds */
|
|
buildDiscarder(logRotator(numToKeepStr: '10'))
|
|
}
|
|
|
|
stages {
|
|
stage('Get Nodes') {
|
|
steps { script {
|
|
stagePerNode = nodesByLabel('macos').collectEntries {
|
|
["${it}" : generateNodeCleanupStage(it)]
|
|
}
|
|
} }
|
|
}
|
|
|
|
stage('Clean Xcode') {
|
|
steps { script {
|
|
parallel stagePerNode
|
|
} }
|
|
}
|
|
}
|
|
}
|
|
|
|
def generateNodeCleanupStage(nodeLabel) {
|
|
return { stage(nodeLabel) {
|
|
node(nodeLabel) {
|
|
dir('/Users/jenkins/Library/Developer/Xcode') {
|
|
sh 'rm -fr Archives DerivedData'
|
|
}
|
|
}
|
|
} }
|
|
}
|