Skip to content

Commit 8c6dfaa

Browse files
greggdonovanclaude
andcommitted
Fix CI: only exclude docker tests on macOS, not OCI builds
OCI images can be built on any platform - they're just tar layers. The only thing that fails on macOS CI is container_structure_test because Docker is not available on GitHub-hosted macOS runners. See: actions/runner#1456 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent ff8ae25 commit 8c6dfaa

File tree

4 files changed

+19
-16
lines changed

4 files changed

+19
-16
lines changed

.bcr/presubmit.yml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,18 @@ bcr_test_module:
77
bazel:
88
- 8.x
99
tasks:
10-
run_tests:
11-
name: "Build and test (excluding OCI on macOS)"
10+
build_all:
11+
name: "Build all targets"
1212
build_targets:
1313
- "//..."
14-
build_flags:
15-
- "--build_tag_filters=-oci"
14+
# Docker tests excluded because GitHub macOS runners don't have Docker
15+
# https://github.com/actions/runner/issues/1456
16+
test_non_docker:
17+
name: "Test (excluding docker tests)"
1618
test_targets:
1719
- "//..."
1820
test_flags:
19-
- "--test_tag_filters=-docker,-oci"
21+
- "--test_tag_filters=-docker"
2022

2123
bcr_test_module_linux:
2224
module_path: ""
@@ -26,9 +28,9 @@ bcr_test_module_linux:
2628
bazel:
2729
- 8.x
2830
tasks:
29-
run_all:
30-
name: "Build and test everything (Linux)"
31-
build_targets:
32-
- "//..."
31+
test_docker:
32+
name: "Test docker targets (Linux only)"
3333
test_targets:
3434
- "//..."
35+
test_flags:
36+
- "--test_tag_filters=docker"

.github/workflows/ci.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,14 @@ jobs:
4949
disk-cache: ${{ github.workflow }}-macos-${{ matrix.bazel }}
5050
repository-cache: ${{ github.workflow }}
5151

52-
- name: Build (excluding OCI targets)
53-
run: bazel build //... --build_tag_filters=-oci
52+
- name: Build
53+
run: bazel build //...
5454
env:
5555
USE_BAZEL_VERSION: ${{ matrix.bazel }}
5656

57-
- name: Test (excluding OCI/docker tests)
58-
run: bazel test //... --test_tag_filters=-docker,-oci
57+
# Docker is not available on GitHub-hosted macOS runners
58+
# https://github.com/actions/runner/issues/1456
59+
- name: Test (excluding docker tests)
60+
run: bazel test //... --test_tag_filters=-docker
5961
env:
6062
USE_BAZEL_VERSION: ${{ matrix.bazel }}

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,6 @@ Arguments:
236236
- `env`: Dictionary of environment variant names to values, set in the Docker image when Grafana is run. Optional.
237237
Useful for setting runtime configs with `GF_` variables.
238238
- `tags`: List of tags to apply to the target. Optional.
239-
Useful for filtering builds, e.g., `["oci"]` to exclude on macOS with `--build_tag_filters=-oci`.
240239

241240
### Module extension: `grafana`
242241

grafana/extensions.bzl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ def _grafana_extension_impl(module_ctx):
2929
"""Implementation for grafana module extension."""
3030

3131
# Pull default grafana container (linux/amd64 only).
32-
# OCI image builds are skipped on macOS CI since rules_oci requires a matching
33-
# host platform. For local macOS development, Docker Desktop emulates x86_64.
32+
# OCI images can be built on any platform. Running containers requires Docker,
33+
# which handles architecture translation on macOS via Docker Desktop.
3434
oci_pull(
3535
name = "grafana_oci",
3636
image = "index.docker.io/grafana/grafana",

0 commit comments

Comments
 (0)