diff --git a/.bazelrc b/.bazelrc
new file mode 100644
index 00000000..ea55072a
--- /dev/null
+++ b/.bazelrc
@@ -0,0 +1,13 @@
+build:ci --build_metadata=ROLE=CI
+build:ci --bes_results_url=https://app.buildbuddy.io/invocation/
+build:ci --bes_backend=grpcs://remote.buildbuddy.io
+build:ci --remote_cache=grpcs://yaku.buildbuddy.io
+build:ci --remote_timeout=3600
+build:ci --experimental_remote_cache_compression
+build:ci --experimental_remote_cache_compression_threshold=100
+build:ci --nolegacy_important_outputs
+build:ci --remote_executor=grpcs://yaku.buildbuddy.io
+build:ci --jobs=50
+build:ci --noslim_profile
+build:ci --experimental_profile_include_target_label
+build:ci --experimental_profile_include_primary_output
\ No newline at end of file
diff --git a/.github/workflows/build-all.yml b/.github/workflows/build-all.yml
index 6aae3c79..3d848fd3 100644
--- a/.github/workflows/build-all.yml
+++ b/.github/workflows/build-all.yml
@@ -30,8 +30,19 @@ jobs:
disk-cache: ${{ github.workflow }}
repository-cache: true
- - name: Build and Test
- run: bazel test //...
+ - name: Build
+ run: |
+ bazel build \
+ --config=ci \
+ --remote_header=x-buildbuddy-api-key=${{ secrets.BUILDBUDDY_ORG_API_KEY }} \
+ //...
+
+ - name: Test
+ run: |
+ bazel test \
+ --config=ci \
+ --remote_header=x-buildbuddy-api-key=${{ secrets.BUILDBUDDY_ORG_API_KEY }} \
+ //...
####
## only on push to main
diff --git a/README.md b/README.md
index b5910ee2..50a00d8e 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,6 @@
-# yaku
+# Yaku
+[![Build all](https://github.com/B-S-F/yaku/actions/workflows/build-all.yml/badge.svg)](https://github.com/B-S-F/yaku/actions/workflows/build-all.yml)
+
!! THIS PROJECT IS UNDER CONSTRUCTION !!
@@ -6,10 +8,47 @@
Foto from Mabel Amber from Pexels
-## Bazel
-[![Build all](https://github.com/B-S-F/yaku/actions/workflows/build-all.yml/badge.svg)](https://github.com/B-S-F/yaku/actions/workflows/build-all.yml)
+## Locally build
+
+#### Prerequisites
+In order to locally build, make user you have bazelisk installed:
+
+On macOS:
+```bash
+brew install bazelisk
+````
+
+On Windows:
+```bash
+choco install bazelisk.
+```
+#### Build
+
+```bash
+bazel build //...
+```
+
+#### Test
+
+```bash
+bazel test //...
+```
+
-### Overview
+## CI/CD
+For the CI/CD pipeline, GitHub Actions is used. The workflow is defined in `.github/workflows/build-all.yml`.
+
+### Bazel Remote caching and remote execution
+Remote caching and remote execution in Bazel are powerful features that enhance build efficiency and speed. Remote caching allows Bazel to store build outputs on a server, enabling reuse of these outputs across different builds and machines, which reduces redundant computations and speeds up the build process. Remote execution, on the other hand, offloads the execution of build actions to remote servers, distributing the workload and further accelerating the build process.
+
+### BuildBuddy
+Incorporating BuildBuddy into your GitHub workflow leverages these capabilities by integrating a remote cache and execution service directly into your CI/CD pipeline. This setup ensures that builds are consistently fast and reliable, as BuildBuddy manages the caching and execution of build actions, optimizing resource usage and minimizing build times
+
+It is not require for contributers to have a BuildBuddy account. The BuildBuddy instance is hosted by the project owner.
+However, if you want to follow the remote execution and caching, you can sign up for a free BuildBuddy account at [buildbuddy.io](https://buildbuddy.io/).
+Afterwards you are able to [join our organization](https://yaku.buildbuddy.io/join/) and see the build results, stats and so on in [our BuildBuddy dashboard](https://yaku.buildbuddy.io).
+
+## Components
| Component | Build | Test | Artifact Upload | Comments |
|-------------|-----|------|-----------------|----------------------------------------------------------------------------------|
@@ -23,23 +62,22 @@ Foto from Mabel Amber from