sgammon/GUST

View on GitHub
.github/old/ci.yml

Summary

Maintainability
Test Coverage
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