Skip to content

BCR Publication Blocked by git_override Dependency #7

@avrabe

Description

@avrabe

Problem

The BCR (Bazel Central Registry) publication workflow is currently blocked because our MODULE.bazel file uses a git_override for rules_rust to support wasm32-wasip2 targets.

Current Configuration

bazel_dep(name = "rules_rust", version = "0.62.0")

# Git override to use rules_rust fork with wasm32-wasip2 support  
git_override(
    module_name = "rules_rust",
    commit = "1945773a",  # Fixed rust_toolchain for WASI SDK tools
    remote = "https://github.com/avrabe/rules_rust.git",
)

BCR Requirement

The Bazel Central Registry requires that all dependencies use official releases and cannot include git overrides or other non-registry dependencies.

Solution Options

  1. Wait for Official Support: Wait for official rules_rust to support wasm32-wasip2 targets

    • The Rust compiler added Tier 2 support for wasm32-wasip2 in Rust 1.82 (October 2024)
    • Need to track when rules_rust adds this support officially
  2. Conditional Configuration: Create a separate MODULE.bazel variant for BCR publication

    • Keep current configuration for development
    • Use conditional logic or separate files for BCR releases
  3. Contribute Upstream: Help contribute the necessary changes to official rules_rust

Current Status

  • ✅ BCR workflow files are prepared (.bcr/ directory, publish-to-bcr.yml)
  • ✅ Release workflow is ready
  • ❌ Cannot publish to BCR until dependency conflict is resolved

Files Ready

  • .bcr/metadata.template.json
  • .bcr/source.template.json
  • .bcr/presubmit.yml
  • .github/workflows/publish-to-bcr.yml
  • .github/workflows/release.yml

Next Steps

  • Monitor rules_rust releases for official wasm32-wasip2 support
  • Consider contributing upstream to rules_rust
  • Test BCR workflow once dependencies are resolved

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions