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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions