.github/old/ci.yml
name: CI
on:
push: {}
env:
BAZELISK_VERSION: v1.2.1
jobs:
build:
name: "Build & Test (Bazel ${{ matrix.bazel }} on ${{ matrix.os[0] }})"
strategy:
matrix:
os: [["Ubuntu", "ubuntu-latest", "linux-amd64", "linux-x86_64"]]
bazel: ["2.0.0"]
gcloud: ["279.0.0"]
runs-on: ${{ matrix.os[1] }}
steps:
- name: Checkout Sources
uses: actions/checkout@v1
- name: Install GCP SDK
run: |
curl -LO "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-${{ matrix.gcloud }}-${{ matrix.os[3] }}.tar.gz"
mv google-cloud-sdk-${{ matrix.gcloud }}-${{ matrix.os[3] }}.tar.gz google-cloud-sdk.tar.gz
tar -xf google-cloud-sdk.tar.gz
echo "$SERVICE_KEY" > "${GITHUB_WORKSPACE}/service-key.json"
./google-cloud-sdk/bin/gcloud auth activate-service-account --key-file=`pwd`/service-key.json
./google-cloud-sdk/bin/gcloud auth configure-docker
env:
SERVICE_KEY: ${{ secrets.GOOGLE_CREDENTIALS }}
GOOGLE_APPLICATION_CREDENTIALS: service-key.json
- name: Install Bazelisk (Bazel v${{ matrix.bazel }})
run: |
curl -LO "https://github.com/bazelbuild/bazelisk/releases/download/${BAZELISK_VERSION}/bazelisk-${{ matrix.os[2] }}"
mkdir -p "${GITHUB_WORKSPACE}/bin/"
mv bazelisk-${{ matrix.os[2] }} "${GITHUB_WORKSPACE}/bin/bazelisk"
chmod +x "${GITHUB_WORKSPACE}/bin/bazelisk"
echo "${{ matrix.bazel }}" > .bazelversion
- name: Prepare Cache
id: cache-ci
uses: actions/cache@v1
with:
path: "/home/runner/.cache/bazel-disk-cache"
key: bazel-{{ matrix.bazel }}-{{ matrix.os[1] }}-v1
- name: Build & Test
run: |
export PATH="$PATH:${GITHUB_WORKSPACE}/google-cloud-sdk/bin"
make build BAZELISK="${GITHUB_WORKSPACE}/bin/bazelisk" CI=yes CACHE=yes
make test BAZELISK="${GITHUB_WORKSPACE}/bin/bazelisk" CI=yes CACHE=yes
env:
SERVICE_KEY: ${{ secrets.GOOGLE_CREDENTIALS }}
GOOGLE_APPLICATION_CREDENTIALS: service-key.json
docs:
name: "Documentation"
runs-on: ubuntu-latest
steps:
- name: Checkout Sources
uses: actions/checkout@v1