-
Notifications
You must be signed in to change notification settings - Fork 143
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 FST-1008 #359
Add FST-1008 #359
Conversation
Soliciting feedback from: |
I'm in favor of removing forks and eliminating merging. I assume all active contributors have signed the CLA so they can continue to contribute? |
Before getting to any feedback I'll add @ncave and @alfonsogarciacaro to this discussion as it impacts Fable fork. |
IMO the impact on Fable would be minimal. |
@ncave I believe moving to a |
@cartermp I don't see a problem with that, in fact I personally like the elimination of upstream/downstream for reasons stated above, as long as cross-platform FCS development and tests don't require installing too many dependencies (it's a bit hard to contribute to the compiler right now because of all the prerequisites). Other people of course probably have other opinions, so that's that. |
@ncave Thanks! I've added two sections - let me know if you have any objections. |
@cartermp Looks good, perhaps add "Thou shalt be able to run the FCS tests" to the build section, unless it's assumed. (Sorry, couldn't resist the pun, it was just hanging there :). |
Looks good to me, awesome to move forward to a single repo 👍 @cartermp i'd like to add some notes on dev flow, to make shared maintenance easier also for outside MS, and maintain current features. Each point is independent.
git tags for stablenow all stable release are tagged, and that help a lot for regression etc. use a RELEASE_NOTES.mdthe RELEASE_NOTES.md is really nice and help track changes at hight level, instead of read all the commits prerelease flowFor me it's ok that just Microsoft can build the signed package, it mean it was built by MS CI and signed. I think, if possible, we dont need the F# extension flow with nightly (that's strange for a package). I think we just need a prerelease package for each commit in If a commit is merged in master, mean has passed the approval of maintainers. The signed package (as prerelease) can be built by the MS owned CI every commit in master and pushed to a myget feed. shared ownership for publish a stableIf possible, having two different way of publishing (unsigned and signed), mean packages are different. I think is possible to allow to maintain the publishing from community and the requirement for signing like:
Using Azure Devops is possible to do all that, having a different job for tags, and a manual Like that you can add two release jobs with different auth (MS and FSF), and each one use a different nuget api key, so is known the publisher (MS or FSF) but the package is signed That mean community (the person choosed by FSF, not everyone) can trigger a new signed build of the package, using MS infrastructure for signing. the build job configurations are owned by MS, not in some yaml, so no changes are possible outside MS. that mean only the allowed community maintainer can tag a commit and generate the build:
|
Here's the proposal to migrate FSharp.Compiler.Service to
dotnet/fsharp
and archive the current repository.