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 support for considering oss authors/contribs as indirect sponsors #339

Merged
merged 1 commit into from
Sep 26, 2024

Conversation

kzu
Copy link
Member

@kzu kzu commented Sep 26, 2024

This feature effectively makes anyone who has ever contributed to an active (and popular) open source nuget package, an indirect sponsor that doesn't need to select a sponsorship tier with the sponsorable.

This works in combination with the https://github.com/devlooped/nuget repository which will keep a public dump of the stats we collect once a month (first saturday of each month) with all the active packages on nuget.org and their github mapping and repo contributors.

We provide a lookup page so users can quickly determine eligibility too, if they don't wish to sponsor. We'll link to that page from our diagnostic URL.

We only do this for github repositories at the moment.

This feature effectively makes anyone who has ever contributed to an active (and popular) open source nuget package, an indirect sponsor that doesn't need to select a sponsorship tier with the sponsorable.

This works in combination with the https://github.com/devlooped/nuget repository which will keep a public dump of the stats we collect once a month (first saturday of each month) with all the active packages on nuget.org and their github mapping and repo contributors.

We provide a lookup page so users can quickly determine eligibility too, if they don't wish to sponsor. We'll link to that page from our diagnostic URL.

We only do this for github repositories at the moment.
@kzu kzu added the enhancement New feature or request label Sep 26, 2024
@devlooped-bot
Copy link
Member

devlooped-bot commented Sep 26, 2024

40 passed 40 passed 1 skipped
40 passed 40 passed 1 skipped
40 passed 40 passed 1 skipped

🧪 Details on macOS Unix 14.6.1

✅ Devlooped.Tests.SponsorLinkTests.TryRead
❔ Devlooped.Tests.SponsorLinkTests.ValidateCachedManifest => Non-CI test
✅ Devlooped.Tests.SponsorLinkTests.ValidateExpiredSponsor
✅ Devlooped.Tests.SponsorLinkTests.ValidateSponsorable
✅ Devlooped.Tests.SponsorLinkTests.ValidateUnknownFormat
✅ Devlooped.Tests.SponsorLinkTests.ValidateWrongKey
✅ Tests.AnalyzerTests.WhenAnalyzerNotDirectlyReferenced_ThenDoesNotReport
✅ Tests.AnalyzerTests.WhenMultipleAnalyzers_ThenReportsOnce
✅ Tests.AnalyzerTests.WhenNoAdditionalFiles_ThenReportsUnknown
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "contrib,team", status: Team)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "contrib", status: Contributor)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "org,contrib", status: Contributor)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "org", status: Organization)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "team", status: Team)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "user,contrib,team", status: Team)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "user,org,contrib", status: User)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "user", status: User)
✅ Tests.AnalyzerTests.WhenUnknownAndGrace_ThenDoesNotReport
✅ Tests.AnalyzerTests.WhenUnknownAndGraceExpired_ThenReportsUnknown
✅ Tests.AnalyzerTests.WhenUnknownAndNoGraceOption_ThenReportsUnknown
✅ Tests.Sample.RenderSponsorables
✅ Tests.Sample.Test(culture: "", kind: Contributor)
✅ Tests.Sample.Test(culture: "", kind: Expired)
✅ Tests.Sample.Test(culture: "", kind: Expiring)
✅ Tests.Sample.Test(culture: "", kind: Unknown)
✅ Tests.Sample.Test(culture: "", kind: User)
✅ Tests.Sample.Test(culture: "en", kind: Contributor)
✅ Tests.Sample.Test(culture: "en", kind: Expired)
✅ Tests.Sample.Test(culture: "en", kind: Expiring)
✅ Tests.Sample.Test(culture: "en", kind: Unknown)
✅ Tests.Sample.Test(culture: "en", kind: User)
✅ Tests.Sample.Test(culture: "es-AR", kind: Contributor)
✅ Tests.Sample.Test(culture: "es-AR", kind: Expired)
✅ Tests.Sample.Test(culture: "es-AR", kind: Expiring)
✅ Tests.Sample.Test(culture: "es-AR", kind: Unknown)
✅ Tests.Sample.Test(culture: "es-AR", kind: User)
✅ Tests.Sample.Test(culture: "es", kind: Contributor)
✅ Tests.Sample.Test(culture: "es", kind: Expired)
✅ Tests.Sample.Test(culture: "es", kind: Expiring)
✅ Tests.Sample.Test(culture: "es", kind: Unknown)
✅ Tests.Sample.Test(culture: "es", kind: User)

🧪 Details on Ubuntu 22.04.5 LTS

✅ Devlooped.Tests.SponsorLinkTests.TryRead
❔ Devlooped.Tests.SponsorLinkTests.ValidateCachedManifest => Non-CI test
✅ Devlooped.Tests.SponsorLinkTests.ValidateExpiredSponsor
✅ Devlooped.Tests.SponsorLinkTests.ValidateSponsorable
✅ Devlooped.Tests.SponsorLinkTests.ValidateUnknownFormat
✅ Devlooped.Tests.SponsorLinkTests.ValidateWrongKey
✅ Tests.AnalyzerTests.WhenAnalyzerNotDirectlyReferenced_ThenDoesNotReport
✅ Tests.AnalyzerTests.WhenMultipleAnalyzers_ThenReportsOnce
✅ Tests.AnalyzerTests.WhenNoAdditionalFiles_ThenReportsUnknown
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "contrib,team", status: Team)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "contrib", status: Contributor)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "org,contrib", status: Contributor)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "org", status: Organization)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "team", status: Team)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "user,contrib,team", status: Team)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "user,org,contrib", status: User)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "user", status: User)
✅ Tests.AnalyzerTests.WhenUnknownAndGrace_ThenDoesNotReport
✅ Tests.AnalyzerTests.WhenUnknownAndGraceExpired_ThenReportsUnknown
✅ Tests.AnalyzerTests.WhenUnknownAndNoGraceOption_ThenReportsUnknown
✅ Tests.Sample.RenderSponsorables
✅ Tests.Sample.Test(culture: "", kind: Contributor)
✅ Tests.Sample.Test(culture: "", kind: Expired)
✅ Tests.Sample.Test(culture: "", kind: Expiring)
✅ Tests.Sample.Test(culture: "", kind: Unknown)
✅ Tests.Sample.Test(culture: "", kind: User)
✅ Tests.Sample.Test(culture: "en", kind: Contributor)
✅ Tests.Sample.Test(culture: "en", kind: Expired)
✅ Tests.Sample.Test(culture: "en", kind: Expiring)
✅ Tests.Sample.Test(culture: "en", kind: Unknown)
✅ Tests.Sample.Test(culture: "en", kind: User)
✅ Tests.Sample.Test(culture: "es-AR", kind: Contributor)
✅ Tests.Sample.Test(culture: "es-AR", kind: Expired)
✅ Tests.Sample.Test(culture: "es-AR", kind: Expiring)
✅ Tests.Sample.Test(culture: "es-AR", kind: Unknown)
✅ Tests.Sample.Test(culture: "es-AR", kind: User)
✅ Tests.Sample.Test(culture: "es", kind: Contributor)
✅ Tests.Sample.Test(culture: "es", kind: Expired)
✅ Tests.Sample.Test(culture: "es", kind: Expiring)
✅ Tests.Sample.Test(culture: "es", kind: Unknown)
✅ Tests.Sample.Test(culture: "es", kind: User)

🧪 Details on Microsoft Windows 10.0.20348

✅ Devlooped.Tests.SponsorLinkTests.TryRead
❔ Devlooped.Tests.SponsorLinkTests.ValidateCachedManifest => Non-CI test
✅ Devlooped.Tests.SponsorLinkTests.ValidateExpiredSponsor
✅ Devlooped.Tests.SponsorLinkTests.ValidateSponsorable
✅ Devlooped.Tests.SponsorLinkTests.ValidateUnknownFormat
✅ Devlooped.Tests.SponsorLinkTests.ValidateWrongKey
✅ Tests.AnalyzerTests.WhenAnalyzerNotDirectlyReferenced_ThenDoesNotReport
✅ Tests.AnalyzerTests.WhenMultipleAnalyzers_ThenReportsOnce
✅ Tests.AnalyzerTests.WhenNoAdditionalFiles_ThenReportsUnknown
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "contrib,team", status: Team)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "contrib", status: Contributor)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "org,contrib", status: Contributor)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "org", status: Organization)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "team", status: Team)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "user,contrib,team", status: Team)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "user,org,contrib", status: User)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "user", status: User)
✅ Tests.AnalyzerTests.WhenUnknownAndGrace_ThenDoesNotReport
✅ Tests.AnalyzerTests.WhenUnknownAndGraceExpired_ThenReportsUnknown
✅ Tests.AnalyzerTests.WhenUnknownAndNoGraceOption_ThenReportsUnknown
✅ Tests.Sample.RenderSponsorables
✅ Tests.Sample.Test(culture: "", kind: Contributor)
✅ Tests.Sample.Test(culture: "", kind: Expired)
✅ Tests.Sample.Test(culture: "", kind: Expiring)
✅ Tests.Sample.Test(culture: "", kind: Unknown)
✅ Tests.Sample.Test(culture: "", kind: User)
✅ Tests.Sample.Test(culture: "en", kind: Contributor)
✅ Tests.Sample.Test(culture: "en", kind: Expired)
✅ Tests.Sample.Test(culture: "en", kind: Expiring)
✅ Tests.Sample.Test(culture: "en", kind: Unknown)
✅ Tests.Sample.Test(culture: "en", kind: User)
✅ Tests.Sample.Test(culture: "es-AR", kind: Contributor)
✅ Tests.Sample.Test(culture: "es-AR", kind: Expired)
✅ Tests.Sample.Test(culture: "es-AR", kind: Expiring)
✅ Tests.Sample.Test(culture: "es-AR", kind: Unknown)
✅ Tests.Sample.Test(culture: "es-AR", kind: User)
✅ Tests.Sample.Test(culture: "es", kind: Contributor)
✅ Tests.Sample.Test(culture: "es", kind: Expired)
✅ Tests.Sample.Test(culture: "es", kind: Expiring)
✅ Tests.Sample.Test(culture: "es", kind: Unknown)
✅ Tests.Sample.Test(culture: "es", kind: User)

from dotnet-retest v0.6.3 on .NET 8.0.8 with 💜

@kzu kzu merged commit b6d9955 into main Sep 26, 2024
16 checks passed
@kzu kzu deleted the dev/oss branch September 26, 2024 03:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants