You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.8 KiB

For maintainers only

Responsibilities

Please go through this link Maintainer Responsibility

Setup your minio-dotnet Github Repository

Fork minio-dotnet upstream source repository to your own personal repository.

$ git clone https://github.com/$USER_ID/minio-dotnet
$ cd minio-dotnet

Minio .NET Library uses nuget for its dependency management https://nuget.org/

Publishing a new package

The steps below assume that the package is being built on Ubuntu 16.04, with following dependencies met.

  • Nuget CLI V4.3.0 or later
  • Mono 4.4.2 or later
  • dotnet-dev-1.0.4

For installation instructions follow this script

Update package Version

  • Update Minio.Core/Minio.Core.csproj with the next version in the tag
<Version>1.0.2</Version>
  • Update Minio.Net452/Properties/AssemblyInfo.cs with the next AssemblyVersion and AssemblyFileVersion
[assembly: AssemblyVersion("1.0.2.0")]
[assembly: AssemblyFileVersion("1.0.2.0")]
  • Update the <version> and <releaseNotes> tags in Minio.nuspec and Minio.core.nuspec

Build

$ nuget restore
$ dotnet restore /p:Configuration=Release.Core
$ dotnet publish /p:Configuration=Release.Core
$ msbuild /p:Configuration=Release.Net452 /t:Restore /t:Clean /t:Build

Verify

$ cd Minio.Functional.Tests
$ dotnet run 

Setup your nuget and download all dependencies

$ nuget restore

Build a package

$ nuget pack Minio.nuspec
$ nuget pack Minio.core.nuspec
... package built ...

Upload the package to nuget.org

Login to nuget.org(https://www.nuget.org) and find the API Key for Minio

$  export MINIO_API_KEY=??
$  nuget setApiKey $MINIO_API_KEY
$  nuget push .\Minio.1.0.2.nupkg -Apikey $MINIO_API_KEY -src https://nuget.org
$  nuget push .\Minio.NetCore.1.0.2.nupkg -Apikey $MINIO_API_KEY -src https://nuget.org

Verify package on nuget.org

Verify that latest versions of Minio and Minio.Netcore packages are available on Nuget.

Tag

Tag and sign your release commit, additionally this step requires you to have access to Minio's trusted private key. $ git tag -s 1.0.2 $ git push $ git push --tags

Announce

Announce new release by adding release notes at https://github.com/minio/minio-dotnet/releases from trusted@minio.io account. Release notes requires two sections highlights and changelog. Highlights is a bulleted list of salient features in this release and Changelog contains list of all commits since the last release.

To generate changelog

git log --no-color --pretty=format:'-%d %s (%cr) <%an>' <last_release_tag>..<latest_release_tag>