Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add the rust package index #8586

Merged
merged 2 commits into from
Feb 28, 2025
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
14 changes: 14 additions & 0 deletions _data/releases/latest/rust-packages.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
"Package","VersionGA","VersionPreview","DisplayName","ServiceName","RepoPath","MSDocs","GHDocs","Type","New","PlannedVersions","LatestGADate","FirstGADate","FirstPreviewDate","Support","EOLDate","Hide","Replace","ReplaceGuide","MSDocService","ServiceId","Notes"
"azure","","0.38.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"azure_core","","0.22.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"azure_core_amqp","","0.1.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"azure_data_cosmos","","0.21.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"azure_identity","","0.22.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"azure_messaging_eventhubs","","0.1.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"azure_security_keyvault_keys","","0.1.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"azure_security_keyvault_secrets","","0.1.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"azure_template","","0.0.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"azure_template_core","","0.0.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"typespec","","0.2.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"typespec_client_core","","0.1.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
"typespec_macros","","0.1.0","Unknown Display Name","Unknown Service","NA","NA","NA","","false","","","","","","","","","","","","Needs Review"
2 changes: 2 additions & 0 deletions _data/sidebars/releases_sidebar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ entries:
url: /releases/latest/go.html
- title: C++
url: /releases/latest/cpp.html
- title: Rust
url: /releases/latest/rust.html
- title: Embedded C
url: /releases/latest/c.html
- title: Android
Expand Down
1 change: 1 addition & 0 deletions _includes/refs.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
[python-latest-releases]: {{ site.baseurl }}{% link releases/latest/python.md %}
[cpp-latest-releases]: {{ site.baseurl }}{% link releases/latest/cpp.md %}
[c-latest-releases]: {{ site.baseurl }}{% link releases/latest/c.md %}
[rust-latest-releases]: {{ site.baseurl }}{% link releases/latest/rust.md %}

[README-EXAMPLE]: https://github.com/Azure/azure-sdk/blob/main/docs/policies/README-EXAMPLE.md
[README-TEMPLATE]: https://github.com/Azure/azure-sdk/blob/main/docs/policies/README-TEMPLATE.md
1 change: 1 addition & 0 deletions _includes/releases/languages.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
{% include releases/python.md type=include.type %}
{% include releases/go.md type=include.type %}
{% include releases/cpp.md type=include.type %}
{% include releases/rust.md type=include.type %}
{% include releases/c.md type=include.type %}
{% include releases/android.md type=include.type %}
{% include releases/ios.md type=include.type %}
3 changes: 2 additions & 1 deletion _includes/releases/nav.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
<div class="nav-language-filter-cell"><a href="#javascript">JavaScript/TypeScript</a></div>
<div class="nav-language-filter-cell"><a href="#python">Python</a></div>
<div class="nav-language-filter-cell"><a href="#go">Go</a></div>

<div class="nav-language-filter-cell"><a href="#rust">Rust</a></div>

{% if include.type != "deprecated" %}
<div class="nav-language-filter-cell"><a href="#c">C++</a></div>
<div class="nav-language-filter-cell"><a href="#embedded-c">Embedded C</a></div>
Expand Down
31 changes: 31 additions & 0 deletions _includes/releases/notes/rust.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
## Release highlights

{% include releases/notes/release_highlights.md %}

## Latest Releases

View all the latest versions of Rust crates [here][rust-latest-releases].

## Installation Instructions

To install any of our crates, copy and paste the following commands into a terminal:

{% assign allPackagesSortedByName = allPackages | sort: 'Name' %}
{%- capture install_instructions -%}
{% for package in allPackagesSortedByName %}
{%- capture install_instruction -%}
$> cargo add {{ package.Name }}@{{ package.Version }}
{%- endcapture -%}
{{ install_instruction }}
{% endfor %}
{%- endcapture -%}
```
{{ install_instructions | rstrip }}
```
{: .language-bash}

## Feedback

If you have a bug or feature request for one of the libraries, please post an issue to [GitHub](https://github.com/Azure/azure-sdk-for-rust/issues).

{% include refs.md %}
17 changes: 17 additions & 0 deletions _includes/releases/rust.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{% include releases/header.md type=include.type %}

## Rust

{% if include.type == "all" %}
{% assign packages = site.data.releases.latest.rust-packages | where_exp: 'item', "item.Support <> 'deprecated'" %}
{% elsif include.type == "deprecated" %}
{% assign packages = site.data.releases.latest.rust-packages | where: 'Support', 'deprecated' | where_exp: 'item', "item.Support <> 'deprecated'" %}
{% else %}
{% assign packages = site.data.releases.latest.rust-packages | where: 'Type', include.type | where: 'New', 'true' | where_exp: 'item', "item.Support <> 'deprecated'" %}
{% endif %}

{{ description | replace: 'PackageCount', packages.size }}

{% include releases/variables/rust.md %}

{% include releases/pkgtable.md type=include.type %}
8 changes: 8 additions & 0 deletions _includes/releases/variables/rust.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{% assign package_label = "crate" %}
{% assign pre_suffix = "" %}
{% assign package_root_url_template = "https://crates.io/crates/item.Package" %}
{% assign package_url_template = "https://crates.io/crates/item.Package/item.Version" %}
<!-- Currently for rust we don't have any docs published -->
{% assign msdocs_url_template = "https://docs.rs/item.Package/item.Version" %}
<!-- {% assign ghdocs_url_template = "https://azuresdkdocs.z19.web.core.windows.net/rust/item.Package/item.Version/index.html" %} -->
{% assign source_url_template = "https://github.com/Azure/azure-sdk-for-rust/tree/[email protected]/sdk/item.RepoPath/" %}
2 changes: 2 additions & 0 deletions eng/pipelines/template/steps/generate-releasenotes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ parameters:
Language: js
azure-sdk-for-python:
Language: python
azure-sdk-for-rust:
Language: rust

steps:
- pwsh: |
Expand Down
1 change: 1 addition & 0 deletions eng/scripts/PackageList-Helpers.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ $languageNameMapping = @{
go = "Go" # -- No csv or tagging info
ios = "iOS" # -- These don't follow normal tagging rules
android = "Android" # -- These don't follow normal tagging/githubio rules
rust = "Rust"
}

function CreatePackage(
Expand Down
1 change: 1 addition & 0 deletions eng/scripts/PackageVersion-Helpers.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,7 @@ function GetPackageVersions($lang, [DateTimeOffset]$afterDate = [DateTimeOffset]
$repoName = "azure-sdk-for-$lang"
if ($lang -eq "dotnet") { $repoName = "azure-sdk-for-net" }
if ($lang -eq "go") { $tagSplit = "/v" }
if ($lang -eq "rust") { $tagSplit = "@" }
if ($lang -eq "c") { $tagSplit = $null }

$tags = GetLatestTags $repoName $afterDate
Expand Down
27 changes: 27 additions & 0 deletions eng/scripts/Query-Azure-Packages.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,28 @@ function Get-go-Packages
return $packages
}

function Get-rust-Packages
{
$packages = @()
# https://crates.io/api/v1/users/azure-sdk to find user id
$next_page = '?user_id=313465&per_page=100'
$crates = while ($next_page) {
$page = Invoke-RestMethod "https://crates.io/api/v1/crates$next_page"
$next_page = $page.meta.next_page
$page.crates
}

Write-Host "Found $($crates.Count) crates belonging to azure-sdk"

$packages = @()
foreach ($crate in $crates)
{
$packages += CreatePackage $crate.name $crate.max_version
}

return $packages
}

function Write-Latest-Versions($lang)
{
$packageList = Get-PackageListForLanguage $lang
Expand Down Expand Up @@ -624,6 +646,7 @@ switch($language)
Write-Latest-Versions "python"
Write-Latest-Versions "cpp"
Write-Latest-Versions "go"
Write-Latest-Versions "rust"

# Maven search api has lots of reliability issues so keeping this error
# handling here to keep it from failing the pipeline all the time.
Expand Down Expand Up @@ -665,6 +688,10 @@ switch($language)
Write-Latest-Versions $language
break
}
"rust" {
Write-Latest-Versions $language
break
}
default {
Write-Host "Unrecognized Language: $language"
exit 1
Expand Down
8 changes: 8 additions & 0 deletions eng/scripts/release-template/rust.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: Azure SDK for Rust (%%MMMM yyyy%%)
layout: post
tags: rust
sidebar: releases_sidebar
repository: Azure/azure-sdk-for-rust
---
{% include releases/notes/common.md language="rust" date="%%yyyy-MM%%" displayDate="%%MMMM yyyy%%" %}
9 changes: 9 additions & 0 deletions releases/latest/rust.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
title: Azure SDK for Rust (Latest)
layout: default
tags: rust
sidebar: releases_sidebar
header: true
---
{% include releases/rust.md type="client" %}
{% include refs.md %}