Skip to content

Add ROLE=CI build metadata in CI only. #64

Add ROLE=CI build metadata in CI only.

Add ROLE=CI build metadata in CI only. #64

Workflow file for this run

name: Bazel CI
on:
push:
branches: [ "main" ]
paths-ignore:
- README.md
jobs:
executors:
name: Build & Push Executor Container Images
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v3
with:
sparse-checkout: |
executors
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: docker/setup-buildx-action@v2
- uses: docker/bake-action@v3
with:
push: true
workdir: executors
set: |
*.cache-from=type=gha
*.cache-to=type=gha,mode=max
bazel:
name: Bazel Build & Test w/Docker
runs-on: ubuntu-latest
needs:
- executors
steps:
- name: Bazel Home RC
run: |
echo "test --config=ci" >> ~/.bazelrc
echo "build --config=docker" >> ~/.bazelrc
echo "build --disk_cache=~/.cache/bazel.disk" >> ~/.bazelrc
- uses: actions/cache@v3
with:
path: ${{github.workspace}}/.cache/bazel.disk
key: bazel
- uses: actions/checkout@v3
- name: Work around https://github.com/actions/upload-artifact/issues/92
run: echo "bazel_out=$(sudo runuser -u runner -g runner -G docker -- bazel info output_path)" >> $GITHUB_ENV
- name: Bazel Build
run: sudo runuser -u runner -g runner -G docker -- bazel build hellos tars rpms debs
- name: Bazel Host Tests
run: sudo runuser -u runner -g runner -G docker -- bazel test --strategy=TestRunner=sandboxed host-{hellos,tars}-test # We won't test the RPM and DEB tests on the host as they actually install the package.
- uses: actions/upload-artifact@v3
with:
name: host-test-results
path: ${{env.bazel_out}}/*/testlogs/**
- name: Bazel Remote Tests
run: sudo runuser -u runner -g runner -G docker -- bazel test --strategy=TestRunner=docker platform-{hello,tar,rpm,deb}-test-suite
- uses: actions/upload-artifact@v3
with:
name: docker-test-results
path: ${{env.bazel_out}}/*/testlogs/**
- run: sudo runuser -u runner -g runner -G docker -- bazel shutdown
buildbuddy:
name: Bazel Build & Test w/BuildBuddy
runs-on: ubuntu-latest
needs:
- executors
steps:
- name: Bazel Home RC
run: |
echo "test --config=ci" >> ~/.bazelrc
echo "build --config=bb" >> ~/.bazelrc
echo "build:bb --remote_header=x-buildbuddy-api-key=${{ secrets.BUILDBUDDY_ORG_API_KEY }}" >> ~/.bazelrc
- uses: actions/checkout@v3
- name: Work around https://github.com/actions/upload-artifact/issues/92
run: echo "bazel_out=$(bazel info output_path)" >> $GITHUB_ENV
- name: Bazel Build
run: bazel build hellos tars rpms debs
- name: Bazel Test
run: bazel test platform-{hello,tar,rpm,deb}-test-suite
- uses: actions/upload-artifact@v3
with:
name: buildbuddy-test-results
path: ${{env.bazel_out}}/*/testlogs/**
- run: bazel shutdown