ci: add linux buildkite tests
This commit is contained in:
parent
784453cf9d
commit
1dd11c99cc
@ -8,3 +8,7 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: ../../
|
context: ../../
|
||||||
dockerfile: ./.buildkite/dockerfiles/windows-test.Dockerfile
|
dockerfile: ./.buildkite/dockerfiles/windows-test.Dockerfile
|
||||||
|
linux-test:
|
||||||
|
build:
|
||||||
|
context: ../../
|
||||||
|
dockerfile: ./.buildkite/dockerfiles/linux-test.Dockerfile
|
||||||
|
@ -1,32 +1,21 @@
|
|||||||
ARG target=node:10.12
|
FROM node:10.12
|
||||||
FROM $target
|
|
||||||
# Redeclare target ARG after FROM to inherit use value from the first ARG.
|
|
||||||
# https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
|
|
||||||
ARG target
|
|
||||||
|
|
||||||
# Install Bazel Ubuntu pre-requisites if it's the default target.
|
# Bazel Ubuntu pre-requisites.
|
||||||
# Subsequent targets will already have it installed.
|
|
||||||
# https://docs.bazel.build/versions/master/install-ubuntu.html
|
# https://docs.bazel.build/versions/master/install-ubuntu.html
|
||||||
RUN if [ "$target" = "node:10.12" ] ; then apt-get update; apt-get -y install pkg-config zip g++ zlib1g-dev unzip python ; fi
|
RUN apt-get update;
|
||||||
# Chrome prerequisites
|
RUN apt-get -y install pkg-config zip g++ zlib1g-dev unzip python
|
||||||
RUN if [ "$target" = "node:10.12" ] ; then apt-get -y install libx11-xcb1 libxrandr2 libasound2 libpangocairo-1.0-0 libatk1.0-0 libatk-bridge2.0-0 libgtk-3-0 libnss3 libxss1 ; fi
|
|
||||||
|
|
||||||
# Setup files.
|
# Chrome prerequisites.
|
||||||
WORKDIR /src
|
# Based on https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md#running-puppeteer-in-docker
|
||||||
COPY ./ /src
|
RUN apt-get install -y wget --no-install-recommends \
|
||||||
COPY .circleci/bazel.rc /etc/bazel.bazelrc
|
&& wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
|
||||||
|
&& sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get install -y google-chrome-unstable fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst ttf-freefont \
|
||||||
|
--no-install-recommends \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
&& apt-get purge --auto-remove -y curl \
|
||||||
|
&& rm -rf /src/*.deb
|
||||||
|
|
||||||
# Workaround symlink when building image on Windows.
|
|
||||||
RUN rm /src/packages/upgrade/static/src
|
|
||||||
RUN ln -s ../src /src/packages/upgrade/static/src
|
|
||||||
|
|
||||||
# Install dependencies and run tests.
|
# Work back from https://github.com/CircleCI-Public/circleci-dockerfiles/blob/master/node/images/10.12.0-jessie/Dockerfile to get Chrome working properly
|
||||||
RUN yarn install --frozen-lockfile --non-interactive
|
|
||||||
# RUN yarn bazel test //tools/ts-api-guardian:all
|
|
||||||
RUN yarn bazel build //... --build_tag_filters=-ivy-only --test_tag_filters=-ivy-only,-local
|
|
||||||
# RUN yarn bazel build --define=compile=aot --build_tag_filters=-no-ivy-aot,-fixme-ivy-aot --test_tag_filters=-no-ivy-aot,-fixme-ivy-aot //...
|
|
||||||
# RUN yarn bazel test //... --build_tag_filters=-ivy-only --test_tag_filters=-ivy-only,-local
|
|
||||||
# RUN yarn test-ivy-aot //...
|
|
||||||
|
|
||||||
# docker build -t angular:latest .
|
|
||||||
# docker build . --build-arg target=angular:latest
|
|
||||||
|
32
.buildkite/dockerfiles/linux-test.Dockerfile
Normal file
32
.buildkite/dockerfiles/linux-test.Dockerfile
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
FROM gcr.io/internal-200822/angular-linux:latest
|
||||||
|
USER root
|
||||||
|
|
||||||
|
# TODO: Delete the above once the bootstrap image is available.
|
||||||
|
|
||||||
|
WORKDIR /src
|
||||||
|
|
||||||
|
# Copy package.json and yarn.lock before the other files.
|
||||||
|
# This allows docker to cache these steps even if source files change.
|
||||||
|
COPY ./package.json /src/package.json
|
||||||
|
COPY ./yarn.lock /src/yarn.lock
|
||||||
|
COPY ./tools/yarn/check-yarn.js /src/tools/yarn/check-yarn.js
|
||||||
|
COPY ./tools/postinstall-patches.js /src/tools/postinstall-patches.js
|
||||||
|
RUN yarn install --frozen-lockfile --non-interactive --network-timeout 100000
|
||||||
|
|
||||||
|
# Setup files.
|
||||||
|
COPY ./ /src
|
||||||
|
COPY .circleci/bazel.rc /etc/bazel.bazelrc
|
||||||
|
|
||||||
|
# Workaround symlink when building image on Windows.
|
||||||
|
RUN rm /src/packages/upgrade/static/src
|
||||||
|
RUN ln -s ../src /src/packages/upgrade/static/src
|
||||||
|
|
||||||
|
# Run tests.
|
||||||
|
RUN yarn bazel test //tools/ts-api-guardian:all --noshow_progress
|
||||||
|
# RUN yarn bazel build //... --build_tag_filters=-ivy-only --test_tag_filters=-ivy-only,-local
|
||||||
|
# RUN yarn bazel build --define=compile=aot --build_tag_filters=-no-ivy-aot,-fixme-ivy-aot --test_tag_filters=-no-ivy-aot,-fixme-ivy-aot //...
|
||||||
|
# RUN yarn bazel test //... --build_tag_filters=-ivy-only --test_tag_filters=-ivy-only,-local
|
||||||
|
# RUN yarn test-ivy-aot //...
|
||||||
|
|
||||||
|
# docker build -t angular:latest .
|
||||||
|
# docker build . --build-arg target=angular:latest
|
@ -8,12 +8,29 @@ steps:
|
|||||||
- target=gcr.io/internal-200822/angular-windows:master
|
- target=gcr.io/internal-200822/angular-windows:master
|
||||||
agents:
|
agents:
|
||||||
windows: true
|
windows: true
|
||||||
- wait
|
- label: linux-test
|
||||||
- label: windows-update-image
|
|
||||||
branches: master
|
|
||||||
plugins:
|
plugins:
|
||||||
- docker-compose#v2.6.0:
|
- docker-compose#v2.6.0:
|
||||||
push: windows-test:gcr.io/internal-200822/angular-windows:master
|
build: linux-test
|
||||||
config: .buildkite/dockerfiles/docker-compose.yml
|
config: .buildkite/dockerfiles/docker-compose.yml
|
||||||
|
# args:
|
||||||
|
# - target=gcr.io/internal-200822/angular-linux:master
|
||||||
agents:
|
agents:
|
||||||
windows: true
|
linux: true
|
||||||
|
- wait
|
||||||
|
# - label: windows-update-image
|
||||||
|
# branches: master
|
||||||
|
# plugins:
|
||||||
|
# - docker-compose#v2.6.0:
|
||||||
|
# push: windows-test:gcr.io/internal-200822/angular-windows:master
|
||||||
|
# config: .buildkite/dockerfiles/docker-compose.yml
|
||||||
|
# agents:
|
||||||
|
# windows: true
|
||||||
|
# - label: linux-update-image
|
||||||
|
# # branches: master
|
||||||
|
# plugins:
|
||||||
|
# - docker-compose#v2.6.0:
|
||||||
|
# push: linux-test:gcr.io/internal-200822/angular-linux:master
|
||||||
|
# config: .buildkite/dockerfiles/docker-compose.yml
|
||||||
|
# agents:
|
||||||
|
# linux: true
|
||||||
|
26
.buildkite/provision/linux-buildkite.md
Normal file
26
.buildkite/provision/linux-buildkite.md
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
Follow https://buildkite.com/docs/agent/v3/gcloud#running-the-agent-on-google-container-engine
|
||||||
|
but :
|
||||||
|
on the cluster creation chose n1-highcpu-16 instances, and give "read write" permissions to Storage
|
||||||
|
|
||||||
|
on the "Create a deployment to start an agent:" step use change
|
||||||
|
```
|
||||||
|
env:
|
||||||
|
- name: BUILDKITE_AGENT_TOKEN
|
||||||
|
valueFrom: {secretKeyRef: {name: buildkite-agent, key: token}}
|
||||||
|
```
|
||||||
|
to
|
||||||
|
```
|
||||||
|
env:
|
||||||
|
- name: BUILDKITE_AGENT_TOKEN
|
||||||
|
valueFrom: {secretKeyRef: {name: buildkite-agent, key: token}}
|
||||||
|
- name: BUILDKITE_AGENT_TAGS
|
||||||
|
value: "linux=true"
|
||||||
|
- name: BUILDKITE_TIMESTAMP_LINES
|
||||||
|
value: "true"
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
config kubernetes to access container registry
|
||||||
|
maybe just give write access to storage https://medium.com/google-cloud/updating-google-container-engine-vm-scopes-with-zero-downtime-50bff87e5f80
|
||||||
|
https://cloud.google.com/container-registry/docs/using-with-google-cloud-platform
|
||||||
|
https://container-solutions.com/using-google-container-registry-with-kubernetes/
|
Loading…
x
Reference in New Issue
Block a user