Backport CFS cargo registry config to hotfix/keyvault CI - #5129
Closed
ROHIT SINGHAL (rohitsinghal4u) wants to merge 1 commit into
Closed
Backport CFS cargo registry config to hotfix/keyvault CI#5129ROHIT SINGHAL (rohitsinghal4u) wants to merge 1 commit into
ROHIT SINGHAL (rohitsinghal4u) wants to merge 1 commit into
Conversation
The keyvault 1.0.1 hotfix release pipeline (internal 'rust - keyvault', build 6744430) fails because hotfix/keyvault was cut from the 1.0.0 release tag, which predates the repo's migration to the private crates.io mirror (Azure Artifacts feed, #5033). Under 1ES network isolation there is no public crates.io egress, so every cargo step fails to connect to index.crates.io:443: - cargo install cargo-semver-checks (Check SemVer compatibility) - cargo install cargo-deny (Run source analysis) - cargo build --all-features (Test Packages, all 6 jobs) Backport the eng-only registry plumbing so the pipeline routes cargo traffic through the azure-sdk-for-rust feed: - add eng/templates/config.toml.template (crates.io source replacement + default registry so Pack-Crates.ps1 needs no CI-only flags) - use-rust.yml: write the cargo config and run NuGetAuthenticate + CargoAuthenticate before rustup, guarded by a ConfigureRegistry parameter (default true) No product code changes; the 1.0.1 challenge-cache security fix is untouched. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Azure Pipelines: Successfully started running 1 pipeline(s). 3 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
Member
|
I've already checked out |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The keyvault 1.0.1 hotfix release pipeline (internal
rust - keyvault, build 6744430) onhotfix/keyvaultfails every cargo step — not because of the security fix, but because this branch was cut from theazure_security_keyvault_keys@1.0.0release tag, which predates the repo's migration to the private crates.io mirror (Azure Artifacts feed, #5033).Under 1ES NetworkIsolation there is no public crates.io egress, so cargo cannot reach
index.crates.io:443:cargo install cargo-semver-checkscargo install cargo-denycargo build --all-featuresunable to update registry crates-ioWhat
Backport the eng-only registry plumbing from
mainso the pipeline routes cargo traffic through theazure-sdk-for-rustfeed:eng/templates/config.toml.template— replacescrates.iowith the sparse Azure Artifacts feed, and sets it as the default registry soPack-Crates.ps1needs no CI-only--registryflags.eng/pipelines/templates/steps/use-rust.yml— before rustup, write that config to\/config.toml(falls back to~/.cargoon this branch, whereCARGO_HOMEisn't relocated) and runNuGetAuthenticate@1+CargoAuthenticate@0. Guarded by a newConfigureRegistryparameter (defaulttrue), matchingmain.use-rust.ymlis the shared toolchain step in every cargo job (pack / analyze / tests / release), so this one injection point fixes all failing steps.Scope / safety
eng/CI config.main's CFS setup (Migrate CFS feed to public feed #5033); keeps the branch's existing inline rustup logic rather than pulling in theUse-Rust.ps1refactor, to minimize blast radius.Pack-Crates.ps1(cargo package/cargo publish --dry-runwith no--registry) andTest-Semver.ps1need no changes — the[registry] default+ mirror handle them.After merge, re-queue
rust - keyvaultagainsthotfix/keyvaultto publish 1.0.1.