Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
193 commits
Select commit Hold shift + click to select a range
a9936f0
Fix: custom latency buckets #1376 (#1396)
amishra-u Jul 3, 2023
f74f270
Supply a basic retrier to remote cas writes
werkt Jul 6, 2023
f7eb74a
Update buildfarm-indexer for upstream updates
werkt Jul 12, 2023
f893b5a
Commonize grpc createChannel with TLS selection
werkt Jul 12, 2023
70903df
Refactor findMissingBlobs method
amishra-u Jun 29, 2023
68318c5
incorporate feedback
amishra-u Jul 6, 2023
95719e5
Upgrade grpc repo/maven deps for java_common
werkt Jul 16, 2023
abcd8fc
Shut down prometheus collector thread on CFC stop
werkt Jul 26, 2023
9b4bd6f
Output status code name on shard read error
werkt Jul 31, 2023
8710642
Reduce log levels to make log files more meaningful (#1414)
80degreeswest Aug 1, 2023
8315723
Fix io_bytes_read metrics for buildfarm:server
amishra-u Aug 4, 2023
77fee77
chore(deps): bump Guava from 31.1-jre to 32.1.1-jre
jasonschroeder-sfdc Jul 28, 2023
b5754e4
Upgrade opentelemetry javaagent to 1.28
tokongs Aug 8, 2023
9e7e633
Update platforms
keith Aug 10, 2023
ae907b5
Merge pull request #1422 from keith/ks/update-platforms
comius Aug 11, 2023
18ae72e
Add download rate metrics for buildfarm:worker (#1418)
amishra-u Aug 11, 2023
1180a85
Add request metadata interceptor to Worker (#1425)
amishra-u Aug 31, 2023
8795c6e
Separate channel for write api (#1424)
amishra-u Aug 31, 2023
0abb176
fix docu CAS config (#1432)
Stunkymonkey Sep 7, 2023
882e86f
Fix deadlock when handling Write request (#1442)
shirchen Sep 20, 2023
773341c
Deliver RemoteCasWriter IOExceptions (#1438)
werkt Sep 20, 2023
20d4ae5
build: update maven mirrors
jasonschroeder-sfdc Sep 6, 2023
a7f1ac2
Add production-ready helm chart for deploying buildfarm on k8s
lshmouse Aug 28, 2023
dfe9d3d
Update quick_start.md
werkt Sep 21, 2023
ed15779
Permit --prometheus_port to override config
werkt Sep 21, 2023
fb7cbd8
[metrics] Emit operation_exit_code metric to track execution exit cod…
80degreeswest Sep 22, 2023
a6fe207
feat(redis): support rediss:// URIs for Redis-SSL
jasonschroeder-sfdc Sep 7, 2023
79eee49
chore: make code more readable
jasonschroeder-sfdc Sep 20, 2023
3305669
Update rules_docker dependencies via injection
werkt Sep 23, 2023
7f86c47
Treat '.' working_directory segment as current
werkt Jul 18, 2023
90439ca
Remove unused setExecuteResponseBuilder
werkt Sep 25, 2023
8cc247f
Log on write errors
werkt Jul 17, 2023
f651cdb
Use integer ids for Sqlite bidirectional index
werkt Jul 24, 2023
9f93972
Update graceful shutdown functionality to better handle worker termin…
80degreeswest Sep 29, 2023
ec4b82c
Manipulate worker set directly in RSB
werkt Sep 26, 2023
c48d600
Remove publishTtlMetric option
werkt Sep 26, 2023
2abad58
Config-compatible behavior for publishTtlMetric
werkt Oct 4, 2023
10189d6
Correct logging advisements for current Java
werkt Sep 26, 2023
0c30cb0
Rename GracefulShutdownTest
werkt Oct 3, 2023
5a0d8d6
Remove WebController
werkt Oct 3, 2023
fa8dd6f
Interrupt+Join operationQueuer/dispatchMonitor
werkt Oct 3, 2023
60093db
Present operationNames by stage
werkt Oct 3, 2023
9ff8e64
Remove subscribeToBackplane, adjust failsafe op
werkt Sep 26, 2023
b21ab2e
Removing AWS/GCP Metrics and Admin controls
werkt Sep 28, 2023
f97f048
Remove unused setOnCancelHandler
werkt Oct 3, 2023
c2c1544
Update BWoB docs for ensureOutputsPresent
werkt Oct 4, 2023
09015c9
Disable Bzlmod explicitly in .bazelrc
meteorcloudy Oct 6, 2023
1041b57
Log write errors with worker address
amishra-u Sep 29, 2023
30412ad
Revert "Use integer ids for Sqlite bidirectional index"
80degreeswest Oct 8, 2023
8379068
Common String.format for PipelineStage
werkt Oct 3, 2023
fd20d13
Cleanup matched logic in SWC listener
werkt Oct 3, 2023
632fceb
Refactor SWC matcher and clarify Nullable
werkt Oct 3, 2023
7385c74
Interrupt matchStage to induce prepare shutdown
werkt Oct 3, 2023
79cf648
Specify example config with grpc target
werkt Oct 3, 2023
d73628b
Remove SpringBoot usage
werkt Oct 3, 2023
6f88e34
Enable graceful shutdown for server (#1490)
80degreeswest Oct 10, 2023
81122e7
refactor: code cleanup
jasonschroeder-sfdc Oct 6, 2023
ad44854
Log paths created on putDirectory
werkt Jun 22, 2023
b31ffed
Permit regex realInputDirectories
werkt Jul 7, 2023
1dec684
Log execPath rather than the cache dir path
werkt Jul 7, 2023
6af857a
Shore up OutputDirectory for silence on duplicates
werkt Jul 7, 2023
71a928c
Trigger realInputDirectories to have empty files
werkt Jul 7, 2023
f8017bd
Switch to positive check for linkInputDirectories
werkt Jul 8, 2023
5d88e54
docs(configuration): document --prometheus_port CLI argument
jasonschroeder-sfdc Oct 12, 2023
21448c3
docs(configuration): readability and typos
jasonschroeder-sfdc Oct 12, 2023
461cc5a
style(configuration.md): table formatting
jasonschroeder-sfdc Oct 12, 2023
b74531c
feat: support --redis_uri command line option
jasonschroeder-sfdc Oct 6, 2023
d860b27
docs(configuration): document the --redis_uri command line options
jasonschroeder-sfdc Oct 12, 2023
10bf139
Example should use `container_image` instead of `java_image`
sousajo-cc Oct 11, 2023
9d4c86c
chore: bump rules_jvm_external
jasonschroeder-sfdc Sep 22, 2023
5bc4564
chore: bump rules_cc
jasonschroeder-sfdc Sep 22, 2023
edf2211
Implement local resources for workers (#1282)
luxe Oct 17, 2023
97e3b90
build: override grpc dependencies with our dependencies
jasonschroeder-sfdc Oct 16, 2023
96f239d
chore(deps): bump protobuf runtime to 3.19.1
jasonschroeder-sfdc Oct 16, 2023
af3f34e
chore(deps) add transitive dependencies
jasonschroeder-sfdc Oct 16, 2023
380f8a1
feat: add Proto reflection service to shard worker
jasonschroeder-sfdc Oct 16, 2023
7e7979d
fixup! build: override grpc dependencies with our dependencies
jasonschroeder-sfdc Oct 16, 2023
1f9d01f
fixup! chore(deps) add transitive dependencies
jasonschroeder-sfdc Oct 16, 2023
578589f
Bug: Fix Blocked thread in WriteStreamObserver Caused by CASFile Writ…
amishra-u Oct 24, 2023
dfa5937
Pin the Java toolchain to `remotejdk_17` (#1509)
stefanobaghino Oct 24, 2023
f6459d1
docs: add markdown language specifiers for code blocks
jasonschroeder-sfdc Oct 18, 2023
018e177
Support OutputPaths in OutputDirectory
werkt Oct 25, 2023
8b37013
Permit Absolute Symlink Targets with configuration
werkt Oct 26, 2023
df9ce1d
chore: update bazel to 6.4.0 (#1513)
jasonschroeder-sfdc Oct 29, 2023
bd740c9
Rename instance types (#1514)
luxe Oct 30, 2023
2a61f77
Create SymlinkNode outputs during upload (#1515)
werkt Oct 30, 2023
76c2657
feat: Implement CAS lease extension (#1455)
amishra-u Oct 31, 2023
cfa2e18
Bump org.json:json from 20230227 to 20231013 in /admin/main (#1516)
dependabot[bot] Oct 31, 2023
ff00c8f
Re-add missing graceful shutdown functionality (#1520)
80degreeswest Nov 1, 2023
afb0603
Technically correct to unwrap EE on lock failure
werkt Jul 14, 2023
9b5ec43
Bump rules_oss_audit and patch for py3.11
werkt Oct 17, 2023
f9ef75a
Prevent healthStatusManager NPE on start failure
werkt Oct 17, 2023
20512f6
Consistent check for publicName presence
werkt Nov 1, 2023
654032e
Read through external with query THROUGH=true
werkt Nov 1, 2023
b4359c5
Add --port option to worker
werkt Nov 1, 2023
5195809
Restore worker --root cmdline specification
werkt Nov 1, 2023
938c789
Make bf-executor small blob names consistent
werkt Nov 1, 2023
87face1
Configured output size operation failure
werkt Nov 2, 2023
58faec9
Restore abbrev port as -p
werkt Nov 2, 2023
cf6fc58
Update zstd-jni for latest version
jerrymarino Oct 31, 2023
6bc70e1
Attempt to resolve windows stamping
werkt Nov 3, 2023
b226725
Bug: Fix workerSet update logic for RemoteCasWriter
amishra-u Nov 2, 2023
751ac90
Detail storage requirements
werkt Nov 4, 2023
2bf3eae
Fix worker execution env title
werkt Nov 4, 2023
b6bddff
Add storage example descriptions
werkt Nov 4, 2023
c490925
Check for context cancelled before responding to error (#1526)
justinwon777 Nov 6, 2023
2a51c31
chore(deps): bump com.google.errorprone:error-prone
jasonschroeder-sfdc Oct 16, 2023
7ea1a9f
Worker name execution properties matching
werkt Nov 8, 2023
a4822c1
updates
luxe Apr 21, 2023
f1ea9b5
updates
luxe Apr 21, 2023
ccf763d
updates
luxe Apr 21, 2023
b7f5661
updates
luxe Apr 21, 2023
72b40ae
updates
luxe Apr 23, 2023
14c759b
Update ShardWorkerContext.java
luxe Nov 8, 2023
ca9bb92
Update ShardWorkerContext.java
luxe Nov 8, 2023
10e68c4
[execution] allow tmpfs and cgroups enforcement
werkt Nov 9, 2023
35883a4
Release resources when not keeping an operation (#1535)
werkt Nov 9, 2023
9d80f4e
Update queues.md
werkt Nov 9, 2023
aac33b6
Implement custom label header support for Grpc metrics interceptor (#…
rastenis Nov 10, 2023
f9882f7
Specify direct guava dependency usage (#1538)
werkt Nov 11, 2023
69e0248
Update lombok dependency for jdk21 (#1540)
werkt Nov 11, 2023
339aa13
Reorganize DequeueMatchEvaluator (#1537)
werkt Nov 11, 2023
025305a
Upgrade com_google_protobuf for jvm compatibility (#1539)
werkt Nov 11, 2023
f720909
Create buildfarm-worker-base-build-and-deploy.yml (#1534)
80degreeswest Nov 11, 2023
b7daba3
Add base image generation scripts (#1532)
80degreeswest Nov 11, 2023
dcff4f0
Fix buildfarm-worker-base-build-and-deploy.yml (#1541)
80degreeswest Nov 11, 2023
52318f8
Add public buildfarm image generation actions (#1542)
80degreeswest Nov 14, 2023
e343393
Update base image building action (#1544)
80degreeswest Nov 16, 2023
dae7f78
Add release image generation action (#1545)
80degreeswest Nov 16, 2023
b01889d
Limit workflow to canonical repository (#1547)
werkt Nov 16, 2023
dcee798
Check for "cores" exec property as min-cores match (#1548)
werkt Nov 16, 2023
221eae9
Consider output_* as relative to WD (#1550)
werkt Nov 19, 2023
91587e7
Implement Persistent Workers as an execution path (#1260)
wiwa Nov 20, 2023
a56b161
Locate Output Paths relative to WorkingDirectory (#1553)
werkt Nov 22, 2023
53e1fba
Remove incorrect external resolve of WD on upload (#1554)
werkt Nov 22, 2023
dd5c87b
Instance cleanups (#1555)
werkt Nov 30, 2023
d249393
BuildfarmExecutors moved to its own target (#1557)
werkt Nov 30, 2023
a7ef693
Update Jedis connection error handling for addWorker (#1552)
amishra-u Dec 1, 2023
a06b095
add github action to package and publish the helm chart as a released…
andrewrothstein Dec 5, 2023
68182ec
Assert correct context called for WSO responses (#1561)
werkt Dec 6, 2023
e26a000
Write onNext requires onCompleted to follow (#1565)
werkt Dec 12, 2023
859abb6
chore: update maven dependencies (#1434)
jasonschroeder-sfdc Dec 12, 2023
27194c7
build: support compiling protobuf on macOS (#1563)
jasonschroeder-sfdc Dec 12, 2023
1046e97
tests: bump bazelversion for integration tests (#1566)
jasonschroeder-sfdc Dec 12, 2023
8d6e93f
[tests] add unit test for local resources (#1558)
luxe Dec 13, 2023
fe2eba2
refactor: swap HealthStatusManager (#1568)
jasonschroeder-sfdc Dec 13, 2023
284845a
Update log level for blob location adjust (#1573)
amishra-u Dec 16, 2023
8950953
feat: Redis password from file (#1569)
jasonschroeder-sfdc Dec 16, 2023
a4551f0
docs: update AUTHORS and CONTRIBUTORS (#1572)
jasonschroeder-sfdc Dec 16, 2023
f9140c4
Identify Graceful Shutdown errors with severe (#1574)
werkt Dec 16, 2023
f76893e
Remove orphaned DequeueResults (#1575)
werkt Dec 16, 2023
1fa3c43
Clean up bf-mount usage/refactor (#1576)
werkt Dec 16, 2023
cf3ac77
Clean up bf-mount usage/refactor (#1577)
werkt Dec 16, 2023
ce31446
Refactor WriteStreamObserver logging (#1578)
werkt Dec 16, 2023
2a6f68c
Determine PipelineStage exception severity (#1579)
werkt Dec 16, 2023
a0ec481
Authored sandbox asNobody behavior (#1580)
werkt Dec 16, 2023
9156123
Provide Additional sandbox write paths in config (#1581)
werkt Dec 16, 2023
b48032b
Declare stat block information for FuseCAS (#1582)
werkt Dec 18, 2023
2097ef9
Try a new version of jekyll (#1583)
werkt Dec 18, 2023
d4de791
include (un)zip in images (#1590)
andrewrothstein Dec 21, 2023
f320a81
Remove rules k8s (#1587)
jasonschroeder-sfdc Dec 21, 2023
2870a3f
chore: bump rules_license to 0.0.7 (#1585)
jasonschroeder-sfdc Dec 21, 2023
1b52ac0
Bump rules_go and gazelle (#1584)
jasonschroeder-sfdc Dec 21, 2023
78b001c
[CI] skip server/worker audit on mac (#1592)
luxe Jan 2, 2024
b5425e0
Helm Chart: latest image tags not v-prefixed (#1591)
andrewrothstein Jan 2, 2024
41b4494
Update helm values to use safe defaults (#1597)
werkt Jan 2, 2024
088b8e1
Properly balance over nodes, not slot ranges (#1598)
werkt Jan 3, 2024
6b5db62
fix the shard-worker HPA. it is a StatefulSet and not a Deployment (#…
andrewrothstein Jan 3, 2024
413021d
Use integer ids for Sqlite bidirectional index (#1599)
werkt Jan 3, 2024
16b3aea
Write cleanups (#1600)
werkt Jan 3, 2024
51608f7
fix: format without placeholders (#1586)
jasonschroeder-sfdc Jan 3, 2024
74b1f56
chore: Update proto file styling (#1594)
amishra-u Jan 3, 2024
e51f1e1
fix: Periodically Refresh Active Storage Workers With StartTime (#1549)
amishra-u Jan 3, 2024
c79b213
Revert "Use integer ids for Sqlite bidirectional index (#1599)" (#1603)
werkt Jan 4, 2024
044597e
Separate fields for storage and execute workers in BackplaneStatus (#…
amishra-u Jan 7, 2024
74316e7
Decode nodeId with jedis util SafeEncoder (#1607)
werkt Jan 8, 2024
b62a4ce
build: start adopting bzlmod (#1564)
jasonschroeder-sfdc Jan 9, 2024
373cb21
fix(coverage): coverage numbers are not accurate (#1609)
jasonschroeder-sfdc Jan 10, 2024
b40c14b
Add `helm lint` CI job. Split tag/release for the Helm chart from the…
andrewrothstein Jan 10, 2024
d155c0b
Publish storage worker and execute worker pool size in prometheus (#1…
amishra-u Jan 12, 2024
646d956
bf-cat Output salt/platform, deindent command (#1615)
werkt Jan 22, 2024
ea35e56
Provide hashedName in BackplaneStatus Queue Name (#1616)
werkt Jan 22, 2024
fe2c51c
set expire and drop invocationId (#1589)
coder1363691 Jan 25, 2024
b7980a0
Add OSSF scorecard (#1618)
jasonschroeder-sfdc Jan 25, 2024
8a7873b
chore: remove rules_oss_audit (#1617)
jasonschroeder-sfdc Jan 25, 2024
bb60196
Changes to upgrade to mockito 5.10.0 (#1623)
werkt Feb 4, 2024
8a3abb6
Fix com_grail_bazel_toolchain fetch (#1630)
werkt Feb 13, 2024
60b3890
fix template bugs with with (#1631)
andrewrothstein Feb 15, 2024
1eb0528
Update llvm-toolchains repo url (#1633)
werkt Feb 15, 2024
cab70f2
Describe maxSizeBytes default and sentinel (#1636)
werkt Feb 18, 2024
14810a4
migrate dependency to Bitnami Redis helm chart (#1637)
andrewrothstein Feb 19, 2024
d6c1859
Merge commit '14810a42ec8ea1fd65009d1183dd37a8ace0a0e3' into jackies/…
chenj-hub Aug 14, 2024
9938118
Fix up bazel-buildfarm to pass all tests
chenj-hub Aug 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion .bazelci/presubmit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ tasks:
name: "Unit Tests"
build_targets:
- "..."
build_flags:
- "--build_tag_filters=-container"
test_flags:
- "--test_tag_filters=-integration,-redis"
test_targets:
Expand All @@ -49,13 +51,18 @@ tasks:
name: "Unit Tests"
build_targets:
- "..."
build_flags:
- "--build_tag_filters=-container"
test_flags:
- "--test_tag_filters=-integration,-redis"
test_targets:
- "..."
macos:
name: "Unit Tests"
environment:
USE_BAZEL_VERSION: 17be878292730359c9c90efdceabed26126df7ae
build_flags:
- "--cxxopt=-std=c++14"
- "--build_tag_filters=-container"
build_targets:
- "..."
Expand All @@ -66,10 +73,11 @@ tasks:
windows:
name: "Unit Tests"
build_flags:
- "--build_tag_filters=-container,-audit"
- "--build_tag_filters=-container"
build_targets:
- "..."
test_flags:
- "--@rules_jvm_external//settings:stamp_manifest=False"
- "--test_tag_filters=-integration,-redis"
test_targets:
- "..."
Expand Down
4 changes: 2 additions & 2 deletions .bazelci/run_server_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ bazel build //src/main/java/build/buildfarm:buildfarm-shard-worker
bazel build //src/main/java/build/buildfarm:buildfarm-server

# Start a single worker
bazel run //src/main/java/build/buildfarm:buildfarm-shard-worker $(pwd)/examples/config.minimal.yml > server.log 2>&1 &
bazel run //src/main/java/build/buildfarm:buildfarm-shard-worker $(pwd)/examples/config.minimal.yml > worker.log 2>&1 &
echo "Started buildfarm-shard-worker..."

# Start a single server
bazel run //src/main/java/build/buildfarm:buildfarm-server $(pwd)/examples/config.minimal.yml > worker.log 2>&1 &
bazel run //src/main/java/build/buildfarm:buildfarm-server $(pwd)/examples/config.minimal.yml > server.log 2>&1 &
echo "Started buildfarm-server..."

echo "Wait for startup to finish..."
Expand Down
11 changes: 11 additions & 0 deletions .bazelrc
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
build --java_language_version=17
build --java_runtime_version=remotejdk_17

build --tool_java_language_version=17
build --tool_java_runtime_version=remotejdk_17

common --enable_platform_specific_config

build:fuse --define=fuse=true
Expand All @@ -14,3 +20,8 @@ test --test_tag_filters=-redis,-integration
# Ensure buildfarm is compatible with future versions of bazel.
# https://buildkite.com/bazel/bazelisk-plus-incompatible-flags
common --incompatible_disallow_empty_glob

common --enable_bzlmod

# Support protobuf on macOS with Xcode 15.x
common:macos --host_cxxopt=-std=c++14 --cxxopt=-std=c++14
2 changes: 1 addition & 1 deletion .bazelversion
Original file line number Diff line number Diff line change
@@ -1 +1 @@
6.1.2
6.4.0
24 changes: 24 additions & 0 deletions .github/workflows/buildfarm-helm-chart-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: Lint Helm Chart

on:
push:
paths:
- kubernetes/helm-charts/buildfarm/**

env:
CHART_ROOT: kubernetes/helm-charts/buildfarm

jobs:
lint:
name: Lint Helm Chart
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- id: helm-lint
name: Lint Helm Chart
run: |-
set -ex
helm dep up "${CHART_ROOT}"
helm lint "${CHART_ROOT}"
42 changes: 42 additions & 0 deletions .github/workflows/buildfarm-helm-chart-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
name: Package and Publish Helm Chart

on:
push:
tags:
- 'helm/*'

env:
GH_TOKEN: ${{ github.token }}
CHART_ROOT: kubernetes/helm-charts/buildfarm

jobs:
build:
name: Lint, Package, and Release BuildFarm Helm Chart
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- id: get-chart-ver
name: Extracting Helm Chart Version from Tag
run: |
set -ex
echo "chart_ver=$(echo $GITHUB_REF | cut -d / -f 4)" >> $GITHUB_OUTPUT
- id: set-chart-yaml-version
name: Etching Helm Chart Version into Chart.yaml for Packaging
run: |
set -ex
echo setting Chart version to \
"${{ steps.get-chart-ver.outputs.chart_ver }}" \
in ${CHART_ROOT}/Chart.yaml
yq -i \
'.version |= "${{ steps.get-chart-ver.outputs.chart_ver }}"' \
${CHART_ROOT}/Chart.yaml
- id: helm-lint-package-release
name: Helm Chart Lint, Package, and Release
run: |-
set -ex
helm dep up "${CHART_ROOT}"
helm lint "${CHART_ROOT}"
helm package "${CHART_ROOT}"
gh release create "${{ github.ref_name }}" *.tgz
31 changes: 31 additions & 0 deletions .github/workflows/buildfarm-images-build-and-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Build and Push Latest Buildfarm Images

on:
push:
branches:
- main

jobs:
build:
if: github.repository == 'bazelbuild/bazel-buildfarm'
name: Build Buildfarm Images
runs-on: ubuntu-latest
steps:
- uses: bazelbuild/setup-bazelisk@v2

- name: Checkout
uses: actions/checkout@v3

- name: Login to Bazelbuild Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.BAZELBUILD_DOCKERHUB_USERNAME }}
password: ${{ secrets.BAZELBUILD_DOCKERHUB_TOKEN }}

- name: Build Server Image
id: buildAndPushServerImage
run: bazel run public_push_buildfarm-server --define release_version=latest

- name: Build Worker Image
id: buildAndPushWorkerImage
run: bazel run public_push_buildfarm-worker --define release_version=latest
30 changes: 30 additions & 0 deletions .github/workflows/buildfarm-release-build-and-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Build and Push Buildfarm Releases

on:
release:
types: [published]

jobs:
build:
if: github.repository == 'bazelbuild/bazel-buildfarm'
name: Build Buildfarm Images
runs-on: ubuntu-latest
steps:
- uses: bazelbuild/setup-bazelisk@v2

- name: Checkout
uses: actions/checkout@v3

- name: Login to Bazelbuild Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.BAZELBUILD_DOCKERHUB_USERNAME }}
password: ${{ secrets.BAZELBUILD_DOCKERHUB_TOKEN }}

- name: Build Server Image
id: buildAndPushServerImage
run: bazel run public_push_buildfarm-server --define release_version=${{ github.event.release.tag_name }}

- name: Build Worker Image
id: buildAndPushWorkerImage
run: bazel run public_push_buildfarm-worker --define release_version=${{ github.event.release.tag_name }}
39 changes: 39 additions & 0 deletions .github/workflows/buildfarm-worker-base-build-and-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Build and Push Base Buildfarm Worker Images

on:
push:
branches:
- main
paths:
- ci/base-worker-image/jammy/Dockerfile
- ci/base-worker-image/mantic/Dockerfile
jobs:
build:
if: github.repository == 'bazelbuild/bazel-buildfarm'
name: Build Base Buildfarm Worker Image
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Login to Bazelbuild Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.BAZELBUILD_DOCKERHUB_USERNAME }}
password: ${{ secrets.BAZELBUILD_DOCKERHUB_TOKEN }}

- name: Build Jammy Docker image
uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671
with:
context: .
file: ./ci/base-worker-image/jammy/Dockerfile
push: true
tags: bazelbuild/buildfarm-worker-base:jammy

- name: Build Mantic Docker image
uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671
with:
context: .
file: ./ci/base-worker-image/mantic/Dockerfile
push: true
tags: bazelbuild/buildfarm-worker-base:mantic
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
${{ runner.os }}-gems-

# Use GitHub Deploy Action to build and deploy to Github
- uses: jeffreytse/jekyll-deploy-action@v0.4.0
- uses: jeffreytse/jekyll-deploy-action@v0.5.0
with:
provider: 'github'
token: ${{ secrets.GH_TOKEN }} # It's your Personal Access Token(PAT)
Expand Down
68 changes: 68 additions & 0 deletions .github/workflows/scorecards.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Scorecards supply-chain security
on:
# For Branch-Protection check. Only the default branch is supported. See
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection
branch_protection_rule:
# To guarantee Maintained check is occasionally updated. See
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained
schedule:
- cron: "23 2 * * 5"
push:
branches: ["main"]

# Declare default permissions as read only.
permissions: read-all

jobs:
analysis:
name: Scorecards analysis
runs-on: ubuntu-latest
permissions:
# Needed to upload the results to code-scanning dashboard.
security-events: write
# Needed to publish results and get a badge (see publish_results below).
id-token: write
# Uncomment the permissions below if installing in a private repository.
# contents: read
# actions: read

steps:
- name: "Checkout code"
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
with:
persist-credentials: false

- name: "Run analysis"
uses: ossf/scorecard-action@0864cf19026789058feabb7e87baa5f140aac736 # v2.3.1
with:
results_file: results.sarif
results_format: sarif
# (Optional) "write" PAT token. Uncomment the `repo_token` line below if:
# - you want to enable the Branch-Protection check on a *public* repository, or
# - you are installing Scorecards on a *private* repository
# To create the PAT, follow the steps in https://github.com/ossf/scorecard-action#authentication-with-pat.
# repo_token: ${{ secrets.SCORECARD_TOKEN }}

# Public repositories:
# - Publish results to OpenSSF REST API for easy access by consumers
# - Allows the repository to include the Scorecard badge.
# - See https://github.com/ossf/scorecard-action#publishing-results.
# For private repositories:
# - `publish_results` will always be set to `false`, regardless
# of the value entered here.
publish_results: true

# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
with:
name: SARIF file
path: results.sarif
retention-days: 5

# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@4759df8df70c5ebe7042c3029bbace20eee13edd # v2.23.1
with:
sarif_file: results.sarif
1 change: 1 addition & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@
Uber Technologies Inc.
Aurora Innovation, Inc.
VMware, Inc.
Salesforce, Inc.
Loading