Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ versioning.

## [Unreleased]

## [1.4.0] - 2026-10-29

### Added

- Release bundles with SHA256 checksums, archive-based installation snippets
Expand All @@ -27,6 +29,12 @@ versioning.
- Recommend release archives for installation. Go Bzlmod bootstrap now infers
and preserves checksum-pinned archive overrides and mirrors without requiring
a Git override for the Orchestrion-enabled fork.
- Use Bazel `8.8.2` for repository and example validation.

### Fixed

- Exclude development-only Bazel configuration from the generated
`workspace_runtime` and `bzlmod_runtime` Go patch profiles.

## [1.3.0] - 2026-10-21

Expand Down
2 changes: 1 addition & 1 deletion MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

module(
name = "datadog-rules-test-optimization",
version = "1.3.0",
version = "1.4.0",
)

# Platforms is needed for cross-platform test execution detection
Expand Down
18 changes: 9 additions & 9 deletions MODULE.bazel.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

29 changes: 15 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ This product includes software developed at Datadog

This repository provides Bazel integrations that fetch Datadog Test Optimization metadata during module/repository resolution and materialize JSON files for use in your build. It also generates public filegroups so consumers can depend on stable labels instead of wiring files manually.

> `v1.3.0` is published. For releases with an `INSTALL.md` asset, copy its checksum-pinned `archive_override` (Bzlmod) or `http_archive` (WORKSPACE) blocks. Keep core, companions, and the Go fork on the same archive. `v1.3.0` predates those assets; its commit-based installation remains supported. See [release installation](docs/Installation_Reference.md#option-a-install-from-a-release-archive-recommended).
> `v1.4.0` is in preparation; `v1.3.0` remains the latest published release. For releases with an `INSTALL.md` asset, copy its checksum-pinned `archive_override` (Bzlmod) or `http_archive` (WORKSPACE) blocks. Keep core, companions, and the Go fork on the same archive. `v1.3.0` predates those assets; its commit-based installation remains supported. See [release installation](docs/Installation_Reference.md#option-a-install-from-a-release-archive-recommended).

## Onboarding paths

Expand Down Expand Up @@ -329,8 +329,9 @@ check as the dev helper.

Replace `<release-archive-url>`, `<release-archive-sha256>`, and
`<archive-prefix>` with the values from the release's `INSTALL.md`. Match the
Datadog `bazel_dep` versions to that release; the snippets below use `1.3.0`
API examples. For `v1.3.0` or an unreleased commit without these assets, use
Datadog `bazel_dep` versions to that release; the snippets below use the `1.4.0`
API. Until `v1.4.0` is published, use an explicit commit override for development
or `v1.3.0` for a published version. For versions without bundle assets, use
the [Git alternative](docs/Installation_Reference.md#option-b-install-from-a-git-commit).

### Bzlmod + core only (any language)
Expand All @@ -339,7 +340,7 @@ Use this when you do not need `dd_topt_go_test`:

```bzl
# MODULE.bazel
bazel_dep(name = "datadog-rules-test-optimization", version = "1.3.0")
bazel_dep(name = "datadog-rules-test-optimization", version = "1.4.0")
archive_override(
module_name = "datadog-rules-test-optimization",
urls = ["<release-archive-url>"],
Expand Down Expand Up @@ -431,15 +432,15 @@ prerequisite block below, then let the guided bootstrap finish the Go-specific
setup.

```bzl
bazel_dep(name = "datadog-rules-test-optimization", version = "1.3.0")
bazel_dep(name = "datadog-rules-test-optimization", version = "1.4.0")
archive_override(
module_name = "datadog-rules-test-optimization",
urls = ["<release-archive-url>"],
sha256 = "<release-archive-sha256>",
strip_prefix = "<archive-prefix>",
)

bazel_dep(name = "datadog-rules-test-optimization-go", version = "1.3.0")
bazel_dep(name = "datadog-rules-test-optimization-go", version = "1.4.0")
archive_override(
module_name = "datadog-rules-test-optimization-go",
urls = ["<release-archive-url>"],
Expand Down Expand Up @@ -614,15 +615,15 @@ named config. Python does not declare `rules_go` and must not copy the Go-only
Orchestrion build flag.

```bzl
bazel_dep(name = "datadog-rules-test-optimization", version = "1.3.0")
bazel_dep(name = "datadog-rules-test-optimization", version = "1.4.0")
archive_override(
module_name = "datadog-rules-test-optimization",
urls = ["<release-archive-url>"],
sha256 = "<release-archive-sha256>",
strip_prefix = "<archive-prefix>",
)

bazel_dep(name = "datadog-rules-test-optimization-python", version = "1.3.0")
bazel_dep(name = "datadog-rules-test-optimization-python", version = "1.4.0")
archive_override(
module_name = "datadog-rules-test-optimization-python",
urls = ["<release-archive-url>"],
Expand Down Expand Up @@ -764,7 +765,7 @@ absent.
### Bzlmod + Java companion (`dd_topt_java_test`)

```bzl
bazel_dep(name = "datadog-rules-test-optimization-java", version = "1.3.0")
bazel_dep(name = "datadog-rules-test-optimization-java", version = "1.4.0")
archive_override(
module_name = "datadog-rules-test-optimization-java",
urls = ["<release-archive-url>"],
Expand Down Expand Up @@ -826,7 +827,7 @@ not include `srcs` by default and the extra files cost runfiles size.
```bzl
bazel_dep(name = "aspect_rules_js", version = "3.0.0-rc5")
bazel_dep(name = "rules_nodejs", version = "6.7.3")
bazel_dep(name = "datadog-rules-test-optimization-nodejs", version = "1.3.0")
bazel_dep(name = "datadog-rules-test-optimization-nodejs", version = "1.4.0")
archive_override(
module_name = "datadog-rules-test-optimization-nodejs",
urls = ["<release-archive-url>"],
Expand Down Expand Up @@ -859,7 +860,7 @@ dd_topt_nodejs_test(

```bzl
bazel_dep(name = "rules_dotnet", version = "0.21.5")
bazel_dep(name = "datadog-rules-test-optimization-dotnet", version = "1.3.0")
bazel_dep(name = "datadog-rules-test-optimization-dotnet", version = "1.4.0")
archive_override(
module_name = "datadog-rules-test-optimization-dotnet",
urls = ["<release-archive-url>"],
Expand Down Expand Up @@ -914,7 +915,7 @@ def dotnet_csharp_test_adapter(name, data = None, env = None, **kwargs):

```bzl
bazel_dep(name = "rules_ruby", version = "0.21.1")
bazel_dep(name = "datadog-rules-test-optimization-ruby", version = "1.3.0")
bazel_dep(name = "datadog-rules-test-optimization-ruby", version = "1.4.0")
archive_override(
module_name = "datadog-rules-test-optimization-ruby",
urls = ["<release-archive-url>"],
Expand Down Expand Up @@ -1369,7 +1370,7 @@ For a generic wrapper pattern, see [Other languages (without companion macro)](#
| Bazel | `8.8.2` | Repository baseline (`.bazelversion`) and primary CI lanes |
| rules_go (Go users) | `0.60.0` / `rules_go_upstream = "v0_60_0"` | README examples use the default support line; importpath inference requires `0.51.0+` |
| Go toolchain (example) | `1.25.0` | Consumer repositories may use another supported version |
| Module versions | `1.3.0` | Published; use release archives when available, or the Git alternative |
| Module versions | `1.4.0` (in preparation) | Latest published release: `1.3.0`; use its Git installation recipe |

- **Bazel 8.8.2 (repo baseline)** - Matches `.bazelversion` and primary CI lanes
- **WORKSPACE compatibility lane** - CI intentionally validates `--noenable_bzlmod --enable_workspace` on Bazel `8.8.2` during migration away from WORKSPACE mode in Bazel 9+
Expand Down Expand Up @@ -1857,7 +1858,7 @@ Use the raw macro directly only when you need the lower-level API.
Before using it directly, configure the Go companion extension in `MODULE.bazel`:

```bzl
bazel_dep(name = "datadog-rules-test-optimization-go", version = "1.3.0")
bazel_dep(name = "datadog-rules-test-optimization-go", version = "1.4.0")
bazel_dep(name = "rules_go", version = "0.60.0")

go_topt = use_extension(
Expand Down
20 changes: 11 additions & 9 deletions docs/Installation_Reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,20 +61,22 @@ tuple further below still belongs to `v1.2.0`.

Use this for an unreleased change, an older release without bundle assets, or
a private repository that requires Git authentication. Pin the same published
commit for core and companions. The example module version is `1.3.0`.
commit for core and companions. The examples use `1.4.0`, which is in
preparation; use a development commit with that version, or select the
published `v1.3.0` commit and module versions.

In your `MODULE.bazel`:

```bzl
bazel_dep(name = "datadog-rules-test-optimization", version = "1.3.0")
bazel_dep(name = "datadog-rules-test-optimization", version = "1.4.0")
git_override(
module_name = "datadog-rules-test-optimization",
remote = "https://github.com/DataDog/rules_test_optimization.git",
commit = "<commit-sha>",
)

# Optional companion module (only needed if you use dd_topt_go_test)
bazel_dep(name = "datadog-rules-test-optimization-go", version = "1.3.0")
bazel_dep(name = "datadog-rules-test-optimization-go", version = "1.4.0")
git_override(
module_name = "datadog-rules-test-optimization-go",
remote = "https://github.com/DataDog/rules_test_optimization.git",
Expand All @@ -86,7 +88,7 @@ git_override(
bazel_dep(name = "rules_go", version = "0.60.0")

# Optional companion module (only needed if you use dd_topt_py_test)
bazel_dep(name = "datadog-rules-test-optimization-python", version = "1.3.0")
bazel_dep(name = "datadog-rules-test-optimization-python", version = "1.4.0")
git_override(
module_name = "datadog-rules-test-optimization-python",
remote = "https://github.com/DataDog/rules_test_optimization.git",
Expand All @@ -95,7 +97,7 @@ git_override(
)

# Optional companion module (only needed if you use dd_topt_java_test)
bazel_dep(name = "datadog-rules-test-optimization-java", version = "1.3.0")
bazel_dep(name = "datadog-rules-test-optimization-java", version = "1.4.0")
git_override(
module_name = "datadog-rules-test-optimization-java",
remote = "https://github.com/DataDog/rules_test_optimization.git",
Expand All @@ -104,7 +106,7 @@ git_override(
)

# Optional companion module (only needed if you use dd_topt_nodejs_test)
bazel_dep(name = "datadog-rules-test-optimization-nodejs", version = "1.3.0")
bazel_dep(name = "datadog-rules-test-optimization-nodejs", version = "1.4.0")
git_override(
module_name = "datadog-rules-test-optimization-nodejs",
remote = "https://github.com/DataDog/rules_test_optimization.git",
Expand All @@ -113,7 +115,7 @@ git_override(
)

# Optional companion module (only needed if you use dd_topt_dotnet_test)
bazel_dep(name = "datadog-rules-test-optimization-dotnet", version = "1.3.0")
bazel_dep(name = "datadog-rules-test-optimization-dotnet", version = "1.4.0")
git_override(
module_name = "datadog-rules-test-optimization-dotnet",
remote = "https://github.com/DataDog/rules_test_optimization.git",
Expand All @@ -122,7 +124,7 @@ git_override(
)

# Optional companion module (only needed if you use dd_topt_ruby_test)
bazel_dep(name = "datadog-rules-test-optimization-ruby", version = "1.3.0")
bazel_dep(name = "datadog-rules-test-optimization-ruby", version = "1.4.0")
git_override(
module_name = "datadog-rules-test-optimization-ruby",
remote = "https://github.com/DataDog/rules_test_optimization.git",
Expand Down Expand Up @@ -668,7 +670,7 @@ If your repository needs sync + uploader only (including non-Go languages),
depend on core only:

```bzl
bazel_dep(name = "datadog-rules-test-optimization", version = "1.3.0")
bazel_dep(name = "datadog-rules-test-optimization", version = "1.4.0")
git_override(
module_name = "datadog-rules-test-optimization",
remote = "https://github.com/DataDog/rules_test_optimization.git",
Expand Down
Loading
Loading