Closed hsluoyz closed 3 years ago
@xcaptain @huazhikui @nodece @Sagilio can you take the issue?
EFCore-Adapter can automatically release when new tag was created. https://github.com/casbin-net/EFCore-Adapter/blob/master/.travis.yml#L40
I think we don't need to release so frequently, manually release is OK.
I think currently only @huazhikui is familiar with the .NET release instructions. @huazhikui can you release a version from master now?
Azure DevOps has a release pipeline that can automatically release the package. We can use Git Version to complete the version. I have tried about it, The build result is like this :
@Sagilio I want GitHub & Nuget releases, is it OK for these?
@Sagilio I want GitHub & Nuget releases, is it OK for these?
It has Github releases Task and Nuget Command Task which can push package. Almost All the tasks can be used at both the build and release pipeline.
@Sagilio good, go ahead with this way. Let me know if you need any help.
Any update?
Any update?
I tried to auto-release some version:
1.2.8 : Build result 1.2.9 : Build result 1.3.0-alpha0045 : Build result
Azure pipeline build history Github release list
Should we how to trigger the release pipeline? The way of most used looks to use develop branch and trigger when pull request from that.
@nodece @huazhikui @xcaptain
Nice, the buildAndPack
works, the next step is to determine when to trigger buildAndPack
. But how can the semantic release bot change the version number at https://github.com/casbin/Casbin.NET/blob/master/NetCasbin/NetCasbin.csproj#L11
Nice, the
buildAndPack
works, the next step is to determine when to triggerbuildAndPack
. But how can the semantic release bot change the version number at https://github.com/casbin/Casbin.NET/blob/master/NetCasbin/NetCasbin.csproj#L11
It can be set at the command dotnet build /p:FileVersion=1.3.0.0
and I have released a version (1.3.1)
I don't think this issue is actually getting fixed. Just merged a PR: https://github.com/casbin/Casbin.NET/pull/123 but I didn't see a new release coming (like v1.4.0 -> v1.4.1)
@Sagilio need resolving.
@hsluoyz According to the current release strategy, the new version of the package will be released to multiple places according to its type. Dev release: it will be released to the MyGet source by every commit, the last version is here. Beta release: it will be released to the NuGet source as a prerelease. Stable release: it will be released to the NuGet source as a stable release. This strategy is popular at the .NET library repo.
Do we need to remove the dev release channel and release a new stable version by every commit, it will like the go casbin repo?
@Sagilio good to know the current release workflow! Yeah, I think the current formal release frequency is too low and it would be better if we can use the Go-Casbin similar way: we will even release a new formal release for a bug fix PR merge, but we will embrace semantic-versioning to indicate the nature of the change. For example:
v1.2.3
--> v2.0.0
v1.2.3
--> v1.3.0
v1.2.3
--> v1.2.4
It's notable that this will also help our popularization as some social media accounts will announce the new releases for important packages.
@hsluoyz Ok, I will try to use a similar way of Go-Casbin.
:tada: This issue has been resolved in version 1.5.1-develop.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:
:tada: This issue has been resolved in version 1.5.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:
We already used semantic-release in Go and Nodejs, see Node-Casbin: https://github.com/casbin/node-casbin/pull/153#issuecomment-625775348
There's also a student working on Java: https://github.com/casbin/jcasbin/issues/76
I think we should also integrate it into .NET. It will auto-release to GitHub Releases and Nuget. We need to find a plugin to use semantic-release in .NET project. I found these but not tried any one yet, maybe useful for you:
Can anyone work on it?