mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-20 09:17:43 +03:00
remove Jenkins build file (#335)
This commit is contained in:
parent
430a85649c
commit
5384ac887b
@ -1,220 +0,0 @@
|
|||||||
#!/usr/bin/env groovy
|
|
||||||
|
|
||||||
@Library('da-jenkins-build-helpers@v0.76') _
|
|
||||||
|
|
||||||
import groovy.transform.Field
|
|
||||||
|
|
||||||
// Disable Jenkins linter for now until its version is updated (see DEL-6655)
|
|
||||||
//SKIP_UNIT_TESTS SKIP_LINTER
|
|
||||||
|
|
||||||
@Field final String context_linux = 'daml/bazel/linux'
|
|
||||||
@Field final String context_macos = 'daml/bazel/macos'
|
|
||||||
@Field final String context_windows = 'daml/bazel/windows'
|
|
||||||
@Field final String notificationChannel = '#team-daml'
|
|
||||||
|
|
||||||
@Field final String releaseDir = '--release-dir /tmp/sdk-release'
|
|
||||||
@Field final String slackReleaseMessageFile = 'slack-release-message'
|
|
||||||
|
|
||||||
@Field boolean shouldRunTests = true
|
|
||||||
|
|
||||||
def status = ['windows': false, 'linux': false, 'macos': false];
|
|
||||||
|
|
||||||
def bazelRemoteCacheConfig = 'cat "$GOOGLE_CREDENTIALS" > google-credentials.json && echo "build --remote_http_cache=https://storage.googleapis.com/daml-bazel-cache --remote_upload_local_results=true --google_credentials=google-credentials.json" >> .bazelrc.local'
|
|
||||||
|
|
||||||
pipeline {
|
|
||||||
agent none
|
|
||||||
parameters {
|
|
||||||
string(
|
|
||||||
defaultValue: '',
|
|
||||||
description: 'Set to a git ref if you want to run a release CI on the given ref',
|
|
||||||
name: 'RELEASE'
|
|
||||||
)
|
|
||||||
}
|
|
||||||
options {
|
|
||||||
timestamps()
|
|
||||||
timeout(time: 120, unit: 'MINUTES')
|
|
||||||
buildDiscarder logRotator(numToKeepStr: onMasterBranch() ? '30' : '4')
|
|
||||||
skipDefaultCheckout false
|
|
||||||
}
|
|
||||||
stages {
|
|
||||||
stage("Build") {
|
|
||||||
parallel {
|
|
||||||
stage("Linux") {
|
|
||||||
agent { label 'centos-7-2018-11-23.1-052b0c3a0c78e6b46' }
|
|
||||||
stages {
|
|
||||||
stage('Load Environment') {
|
|
||||||
steps {
|
|
||||||
gitHubNotifyStatus context: context_linux, starting: true
|
|
||||||
script {
|
|
||||||
if (!params.RELEASE.equals('')) {
|
|
||||||
nixBash "git checkout ${params.RELEASE}"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
sh 'git clean -xdf'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage("Build @Linux") {
|
|
||||||
environment {
|
|
||||||
MANPATH = ""
|
|
||||||
MVN_SETTINGS = credentials('mvn-settings-for-bazel')
|
|
||||||
JFROG_CREDENTIALS = credentials('artifactory-da-jenkins')
|
|
||||||
ARTIFACTORY_CI = credentials('artifactory-da-jenkins')
|
|
||||||
// Needed by bazelRemoteCacheConfig
|
|
||||||
GOOGLE_CREDENTIALS = credentials('google-credentials')
|
|
||||||
}
|
|
||||||
steps {
|
|
||||||
withNetRcCredentials {
|
|
||||||
withJFrogCredentials {
|
|
||||||
script {
|
|
||||||
// Configure the remote cache
|
|
||||||
nixBash bazelRemoteCacheConfig
|
|
||||||
|
|
||||||
// Temporarily added to get an execution log comparable to a local build
|
|
||||||
nixBash 'bazel clean --expunge'
|
|
||||||
|
|
||||||
nixBash './build.sh "_linux"'
|
|
||||||
|
|
||||||
status["linux"] = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
post {
|
|
||||||
always {
|
|
||||||
archiveArtifacts artifacts: 'build_execution_linux.log', fingerprint: true, allowEmptyArchive: true
|
|
||||||
archiveArtifacts artifacts: 'test_execution_linux.log', fingerprint: true, allowEmptyArchive: true
|
|
||||||
archiveArtifacts artifacts: 'build_execution_linux.log', fingerprint: true, allowEmptyArchive: true
|
|
||||||
githubNotify context: context_linux,
|
|
||||||
description: status['linux'] ? "build succeeded" : "build failed",
|
|
||||||
status: status['linux'] ? 'SUCCESS' : 'FAILURE'
|
|
||||||
}
|
|
||||||
cleanup {
|
|
||||||
nixBash "bazel clean --expunge"
|
|
||||||
cleanWs()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage("macOS") {
|
|
||||||
agent { label "macos-mojave" }
|
|
||||||
stages {
|
|
||||||
stage('Load Environment') {
|
|
||||||
steps {
|
|
||||||
gitHubNotifyStatus context: context_macos, starting: true
|
|
||||||
script {
|
|
||||||
if (!params.RELEASE.equals('')) {
|
|
||||||
nixBash "git checkout ${params.RELEASE}"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
sh 'git clean -xdf'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage("Build @macOS") {
|
|
||||||
environment {
|
|
||||||
MANPATH = ""
|
|
||||||
MVN_SETTINGS = credentials('mvn-settings-for-bazel')
|
|
||||||
JFROG_CREDENTIALS = credentials('artifactory-da-jenkins')
|
|
||||||
ARTIFACTORY_CI = credentials('artifactory-da-jenkins')
|
|
||||||
// Needed by bazelRemoteCacheConfig
|
|
||||||
GOOGLE_CREDENTIALS = credentials('google-credentials')
|
|
||||||
}
|
|
||||||
steps {
|
|
||||||
withNetRcCredentials {
|
|
||||||
withJFrogCredentials {
|
|
||||||
script {
|
|
||||||
// Configure the remote cache
|
|
||||||
nixBash bazelRemoteCacheConfig
|
|
||||||
|
|
||||||
nixBash 'bazel clean --expunge'
|
|
||||||
nixBash 'bazel build //... --experimental_execution_log_file build_execution_macos.log'
|
|
||||||
|
|
||||||
// Make sure that Bazel query works.
|
|
||||||
nixBash 'bazel query "deps(//...)"'
|
|
||||||
|
|
||||||
status['macos'] = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
post {
|
|
||||||
always {
|
|
||||||
archiveArtifacts artifacts: 'build_execution_macos.log', fingerprint: true, allowEmptyArchive: true
|
|
||||||
githubNotify context: context_macos,
|
|
||||||
description: status['macos'] ? "build succeeded" : "build failed",
|
|
||||||
status: status['macos'] ? 'SUCCESS' : 'FAILURE'
|
|
||||||
}
|
|
||||||
cleanup {
|
|
||||||
nixBash "bazel clean --expunge"
|
|
||||||
cleanWs()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage("Windows") {
|
|
||||||
// Unfortunately we cannot use docker builds since we
|
|
||||||
// migrated to msys2, see
|
|
||||||
// https://github.com/docker/for-win/issues/262
|
|
||||||
agent { label 'windows-vm' }
|
|
||||||
|
|
||||||
environment {
|
|
||||||
MANPATH = ""
|
|
||||||
MVN_SETTINGS = credentials('mvn-settings-for-bazel')
|
|
||||||
JFROG_CREDENTIALS = credentials('artifactory-da-jenkins')
|
|
||||||
ARTIFACTORY_CI = credentials('artifactory-da-jenkins')
|
|
||||||
// Needed by bazelRemoteCacheConfig
|
|
||||||
GOOGLE_CREDENTIALS = credentials('google-credentials')
|
|
||||||
}
|
|
||||||
|
|
||||||
stages {
|
|
||||||
stage("Build @Windows") {
|
|
||||||
steps {
|
|
||||||
gitHubNotifyStatus context: context_windows, starting: true
|
|
||||||
script {
|
|
||||||
if (!params.RELEASE.equals('')) {
|
|
||||||
nixBash "git checkout ${params.RELEASE}"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
withNetRcCredentials {
|
|
||||||
withJFrogCredentials {
|
|
||||||
timeout(time: 45, unit: 'MINUTES') {
|
|
||||||
script {
|
|
||||||
nixBash "sed -i '1,/# this_breaks_windows_start/!{ /# this_breaks_windows_stop/,/# this_breaks_windows_start/!s/^/#/; }' WORKSPACE"
|
|
||||||
|
|
||||||
nixBash 'echo "build --config windows-ci" >> .bazelrc.local'
|
|
||||||
// Configure the remote cache
|
|
||||||
nixBash bazelRemoteCacheConfig
|
|
||||||
|
|
||||||
powershellWithDevEnv "./build.ps1"
|
|
||||||
|
|
||||||
status['windows'] = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
post {
|
|
||||||
always {
|
|
||||||
githubNotify context: context_windows,
|
|
||||||
description: status['windows'] ? "build succeeded" : "build failed",
|
|
||||||
status: status['windows'] ? 'SUCCESS' : 'FAILURE'
|
|
||||||
}
|
|
||||||
cleanup {
|
|
||||||
powershellWithDevEnv 'bazel clean --expunge'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
post {
|
|
||||||
always {
|
|
||||||
slackNotifyStatus '#team-daml'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// vim: expandtab tabstop=4 shiftwidth=4
|
|
Loading…
Reference in New Issue
Block a user