dotnet / dotnet/arcade-services

Post-build YAML stages should push NPM and Maven artifacts to Azure Artifacts

Open
#2,541 17 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
86
Forks
86
Avg merge
1d 8h
Merged PRs (30d)
35

Description

Currently, the post-build YAML stages push NPM and Maven artifacts to blob storage. However, since this storage doesn't provide the proper registry layout for NPM and Maven, these packages can't be accessed via those protocols.

We should push the NPM and Maven artifacts to Azure Artifacts, like we do with the NuGet packages. Azure Artifacts has full support for NPM and Maven, so this should be possible.

There seem to be a few issues in the way of this support. First is that the `InferCategory` method used to identify the type of an artifact based on file extension isn't configured correctly for NPM and Maven. NPM packages have a `.tgz` extension, but the method [expects `.npm` as a file extension](https://github.com/dotnet/arcade/blob/c63207409e575b0db5ce272faa3159035b570497/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifest.cs#L1160). Similarly, Maven packages are made up of three separate `.jar` files and a `.pom` file but [only the `.pom` file is categorized as a Maven artifact](https://github.com/dotnet/arcade/blob/c63207409e575b0db5ce272faa3159035b570497/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifest.cs#L1164). [The `.jar` extension appears to be categorized as an "Installer" artifact](https://github.com/dotnet/arcade/blob/c63207409e575b0db5ce272faa3159035b570497/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifest.cs#L1173).

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.