Skip to content

Commit

Permalink
backport: various build fixes for 1.13.x (#11054)
Browse files Browse the repository at this point in the history
Cherry-picks:
3804528 and removed Windows from CI.
dc197e5
5306563
bc2d1d3
660891e
a85f8ec

Risk Level: Low
Testing: CI
Docs Changes:
Release Notes:
Part of #10741 

Signed-off-by: Lizan Zhou <lizan@tetrate.io>
Co-authored-by: Matt Klein <mklein@lyft.com>
Co-authored-by: Sunjay Bhatia <sunjayBhatia@users.noreply.github.com>
  • Loading branch information
3 people authored May 8, 2020
1 parent b67c140 commit ccf2487
Show file tree
Hide file tree
Showing 16 changed files with 264 additions and 273 deletions.
60 changes: 60 additions & 0 deletions .azure-pipelines/bazel.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
parameters:
- name: ciTarget
displayName: "CI target"
type: string
default: bazel.release

steps:
- task: CacheBeta@1
inputs:
key: '"${{ parameters.ciTarget }}" | ./WORKSPACE | **/*.bzl'
path: $(Build.StagingDirectory)/repository_cache

- bash: .azure-pipelines/cleanup.sh
displayName: "Removing tools from agent"

- bash: |
echo "disk space at beginning of build:"
df -h
displayName: "Check disk space at beginning"
- bash: |
sudo mkdir -p /etc/docker
echo '{
"ipv6": true,
"fixed-cidr-v6": "2001:db8:1::/64"
}' | sudo tee /etc/docker/daemon.json
sudo service docker restart
displayName: "Enable IPv6"
- script: ci/run_envoy_docker.sh 'ci/do_ci.sh ${{ parameters.ciTarget }}'
workingDirectory: $(Build.SourcesDirectory)
env:
ENVOY_DOCKER_BUILD_DIR: $(Build.StagingDirectory)
ENVOY_RBE: "true"
# Use https://docs.bazel.build/versions/master/command-line-reference.html#flag--experimental_repository_cache_hardlinks
# to save disk space.
BAZEL_BUILD_EXTRA_OPTIONS: "--config=remote-ci --jobs=$(RbeJobs) --curses=no --experimental_repository_cache_hardlinks"
BAZEL_REMOTE_CACHE: grpcs://remotebuildexecution.googleapis.com
BAZEL_REMOTE_INSTANCE: projects/envoy-ci/instances/default_instance
GCP_SERVICE_ACCOUNT_KEY: $(GcpServiceAccountKey)
displayName: "Run CI script"

- bash: |
echo "disk space at end of build:"
df -h
displayName: "Check disk space at end"
condition: always()
- task: PublishTestResults@2
inputs:
testResultsFiles: "**/bazel-out/**/testlogs/**/test.xml"
testRunTitle: "${{ parameters.ciTarget }}"
searchFolder: $(Build.StagingDirectory)/tmp
condition: always()

- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: "$(Build.StagingDirectory)/envoy"
artifactName: ${{ parameters.ciTarget }}
condition: always()
9 changes: 9 additions & 0 deletions .azure-pipelines/cleanup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/bash

set -e

# Temporary script to remove tools from Azure pipelines agent to create more disk space room.
sudo apt-get -y update
sudo apt-get purge -y 'ghc-*' 'zulu-*-azure-jdk' 'libllvm*' 'mysql-*' 'dotnet-*' 'cpp-*'

dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -rn
146 changes: 0 additions & 146 deletions .azure-pipelines/linux.yml

This file was deleted.

26 changes: 0 additions & 26 deletions .azure-pipelines/macos.yml

This file was deleted.

121 changes: 121 additions & 0 deletions .azure-pipelines/pipelines.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
trigger:
branches:
include:
- "master"
- "release/v*"
tags:
include:
- "v*"

# PR build config is manually overridden in Azure pipelines UI with different secrets
pr: none

jobs:
- job: format
dependsOn: [] # this removes the implicit dependency on previous stage and causes this to run in parallel.
pool:
vmImage: "ubuntu-16.04"
steps:
- task: CacheBeta@1
inputs:
key: "format | ./WORKSPACE | **/*.bzl"
path: $(Build.StagingDirectory)/repository_cache

- script: ci/run_envoy_docker.sh 'ci/check_and_fix_format.sh'
workingDirectory: $(Build.SourcesDirectory)
env:
ENVOY_DOCKER_BUILD_DIR: $(Build.StagingDirectory)
BAZEL_REMOTE_CACHE: grpcs://remotebuildexecution.googleapis.com
BAZEL_REMOTE_INSTANCE: projects/envoy-ci/instances/default_instance
GCP_SERVICE_ACCOUNT_KEY: $(GcpServiceAccountKey)
displayName: "Run check format scripts"

- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: "$(Build.StagingDirectory)/fix_format.diff"
artifactName: format
condition: failed()

- job: release
displayName: "Linux-x64 release"
dependsOn: ["format"]
# For master builds, continue even if format fails
condition: and(not(canceled()), or(succeeded(), ne(variables['Build.Reason'], 'PullRequest')))
pool:
vmImage: "ubuntu-16.04"
steps:
- template: bazel.yml
parameters:
ciTarget: bazel.release

- job: bazel
displayName: "Linux-x64"
dependsOn: ["release"]
# For master builds, continue even if format fails
condition: and(not(canceled()), or(succeeded(), ne(variables['Build.Reason'], 'PullRequest')))
strategy:
maxParallel: 3
matrix:
gcc:
CI_TARGET: "bazel.gcc"
asan:
CI_TARGET: "bazel.asan"
tsan:
CI_TARGET: "bazel.tsan"
compile_time_options:
CI_TARGET: "bazel.compile_time_options"
timeoutInMinutes: 360
pool:
vmImage: "Ubuntu 16.04"
steps:
- template: bazel.yml
parameters:
ciTarget: $(CI_TARGET)

- job: docker
displayName: "Linux-x64 docker"
dependsOn: ["release"]
condition: and(succeeded(), eq(variables['PostSubmit'], 'true'), ne(variables['Build.Reason'], 'PullRequest'))
pool:
vmImage: "ubuntu-16.04"
steps:
- task: DownloadBuildArtifacts@0
inputs:
buildType: current
artifactName: "bazel.release"
itemPattern: "bazel.release/envoy_binary.tar.gz"
downloadType: single
targetPath: $(Build.StagingDirectory)

- bash: |
set -e
tar zxf $(Build.StagingDirectory)/bazel.release/envoy_binary.tar.gz
ci/docker_ci.sh
workingDirectory: $(Build.SourcesDirectory)
env:
AZP_BRANCH: $(Build.SourceBranch)
AZP_SHA1: $(Build.SourceVersion)
DOCKERHUB_USERNAME: $(DockerUsername)
DOCKERHUB_PASSWORD: $(DockerPassword)
- job: macOS
dependsOn: ["format"]
timeoutInMinutes: 360
pool:
vmImage: "macos-latest"
steps:
- script: ./ci/mac_ci_setup.sh
displayName: "Install dependencies"

- script: ./ci/mac_ci_steps.sh
displayName: "Run Mac CI"
env:
BAZEL_REMOTE_CACHE: grpcs://remotebuildexecution.googleapis.com
BAZEL_REMOTE_INSTANCE: projects/envoy-ci/instances/default_instance
GCP_SERVICE_ACCOUNT_KEY: $(GcpServiceAccountKey)

- task: PublishTestResults@2
inputs:
testResultsFiles: "**/bazel-testlogs/**/test.xml"
testRunTitle: "macOS"
condition: always()
21 changes: 0 additions & 21 deletions .azure-pipelines/windows.yml

This file was deleted.

2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.13.1
1.13.2-dev
File renamed without changes.
Loading

0 comments on commit ccf2487

Please sign in to comment.