constellation/.github/workflows/build-binaries.yml
Malte Poll c3c0940adb
bazel: use remote caching (#1456)
* bazel: add configuration for remote caching
* ci: enable bazel remote caching for building binaries
* ci: use bazel directly when building go binaries
* ci: enable cache for most build steps
* dev-docs: document remote caching
2023-03-20 16:05:08 +01:00

196 lines
5.5 KiB
YAML

# Build Constellation binaries as quality control
name: Build Constellation binaries
on:
workflow_dispatch:
push:
branches:
- main
- "release/**"
paths:
- "**.go"
- "**/go.mod"
- "**/go.sum"
pull_request:
paths:
- "**.go"
- "**/go.mod"
- "**/go.sum"
jobs:
build-bootstrapper:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Setup bazel
uses: ./.github/actions/setup_bazel
with:
useCache: "true"
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
- name: Build the bootstrapper
uses: ./.github/actions/build_bootstrapper
build-debugd:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Setup bazel
uses: ./.github/actions/setup_bazel
with:
useCache: "true"
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
- name: Build debugd
uses: ./.github/actions/build_debugd
build-cdbg-linux:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Setup bazel
uses: ./.github/actions/setup_bazel
with:
useCache: "true"
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
- name: Build cdbg (Linux, amd64)
uses: ./.github/actions/build_cdbg
with:
targetOS: "linux"
targetArch: "amd64"
outputPath: ./build/cdbg_linux_amd64
- name: Build cdbg (Linux, arm64)
uses: ./.github/actions/build_cdbg
with:
targetOS: "linux"
targetArch: "arm64"
outputPath: ./build/cdbg_linux_arm64
build-cdbg-macos:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Setup bazel
uses: ./.github/actions/setup_bazel
with:
useCache: "true"
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
- name: Build cdbg (macOS, amd64)
uses: ./.github/actions/build_cdbg
with:
targetOS: "darwin"
targetArch: "amd64"
outputPath: ./build/cdbg_darwin_amd64
- name: Build cdbg (macOS, arm64)
uses: ./.github/actions/build_cdbg
with:
targetOS: "darwin"
targetArch: "arm64"
outputPath: ./build/cdbg_darwin_arm64
build-disk-mapper:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Setup bazel
uses: ./.github/actions/setup_bazel
with:
useCache: "true"
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
- name: Build disk-mapper
uses: ./.github/actions/build_disk_mapper
build-measurement-reader:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Setup bazel
uses: ./.github/actions/setup_bazel
with:
useCache: "true"
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
- name: Build measurement-reader
uses: ./.github/actions/build_measurement_reader
build-cli-linux:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Setup bazel
uses: ./.github/actions/setup_bazel
with:
useCache: "true"
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
- name: Build CLI (Linux, amd64)
uses: ./.github/actions/build_cli
with:
targetOS: linux
targetArch: amd64
- name: Build CLI (Linux, arm64)
uses: ./.github/actions/build_cli
with:
targetOS: linux
targetArch: arm64
build-cli-macos:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Setup bazel
uses: ./.github/actions/setup_bazel
with:
useCache: "true"
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
- name: Build CLI (macOS, amd64)
uses: ./.github/actions/build_cli
with:
targetOS: darwin
targetArch: amd64
- name: Build CLI (macOS, arm64)
uses: ./.github/actions/build_cli
with:
targetOS: darwin
targetArch: arm64