gvisor/cloudbuild.yaml

79 lines
2.4 KiB
YAML

# Copyright 2019 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
steps:
- name: 'bash'
args: ['bash', '-c', 'mkdir -p upstream/']
# Clone the upstream repos
- name: 'gcr.io/cloud-builders/git'
args: ['clone', 'https://github.com/google/gvisor.git']
dir: 'upstream'
- name: 'gcr.io/cloud-builders/git'
args: ['clone', 'https://gvisor.googlesource.com/community']
dir: 'upstream'
# Build runsc
- name: 'gcr.io/cloud-builders/bazel'
args:
- 'build'
- '--show_timestamps'
- '--test_output=errors'
- '--keep_going'
- '--verbose_failures'
- 'runsc'
dir: 'upstream/gvisor'
# Build the compatibility doc generator tool
- name: 'golang'
env: ['GO111MODULE=on']
args:
- 'go'
- 'build'
- '-o'
- 'bin/generate-syscall-docs'
- 'gvisor.dev/website/cmd/generate-syscall-docs'
# Generate compatibility docs.
- name: 'bash'
args:
- 'bash'
- '-c'
- >
./upstream/gvisor/bazel-bin/runsc/linux_amd64_pure_stripped/runsc help syscalls -o json |
./bin/generate-syscall-docs -out ./content/docs/user_guide/compatibility/
# Pull npm dependencies for scss
- name: 'gcr.io/cloud-builders/npm'
args: ['ci']
# Copy App Engine app files.
- name: 'gcr.io/gvisor-website/hugo:0.53'
args: ["make", "app"]
# Generate the website.
- name: 'gcr.io/gvisor-website/hugo:0.53'
env: ['HUGO_ENV=production']
args: ["hugo"]
# Test the HTML for issues.
- name: 'gcr.io/gvisor-website/html-proofer:3.10.2'
args:
- "htmlproofer"
- "--disable-external"
- "--check-html"
- "public/static"
# Deploy to App Engine only for master branch.
- name: 'gcr.io/cloud-builders/gcloud'
entrypoint: 'bash'
args:
- '-c'
- >
if [[ "$PROJECT_ID" == "gvisor-website" && "$BRANCH_NAME" == "master" ]]; then
gcloud app deploy public/app.yaml;
fi
timeout: 900s