Rules ought to distribute an artifact that doesn't contain references to development-time dependencies, and omits testing code and examples.
This means the distribution can be broken if files are missing.
In addition, rules ought to integration-test against all supported bazel versions. So there should be some bazel-in-bazel test that consumes the HEAD distribution artifact and tests that the examples work.
Right now there are a few ways. rules_nodejs and rules_python have a built-in integration test runner. rules_go has a special go_bazel_test rule.
Rules ought to distribute an artifact that doesn't contain references to development-time dependencies, and omits testing code and examples.
This means the distribution can be broken if files are missing.
In addition, rules ought to integration-test against all supported bazel versions. So there should be some bazel-in-bazel test that consumes the HEAD distribution artifact and tests that the examples work.
Right now there are a few ways. rules_nodejs and rules_python have a built-in integration test runner. rules_go has a special go_bazel_test rule.