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 arbitrary yaml metadata from tier as sponsor claims #359

Merged
merged 1 commit into from
Oct 1, 2024
Merged

Conversation

kzu
Copy link
Member

@kzu kzu commented Oct 1, 2024

As part of the tier description, sponsorables can add arbitrary yaml metadata such as:

<!-- tier: basic -->

Multiple values are supported in standard yaml format.

These claims are cumulative (i.e. tier 3 gets tier 2 and tier 1 metadata, with the closest tier to the actual sponsoring tier wins).

This now allows client code to selectively enable functionality based on GH sponsorship tier metadata.

Fixes #234

@kzu kzu added the enhancement New feature or request label Oct 1, 2024
As part of the tier description, sponsorables can add arbitrary yaml metadata such as:

```
<!-- tier: basic -->
```

Multiple values are supported in standard yaml format.

These claims are cumulative (i.e. tier 3 gets tier 2 and tier 1 metadata, with the closest tier to the actual sponsoring tier wins).

This now allows client code to selectively enable functionality based on GH sponsorship tier metadata.

Fixes #234
@kzu kzu enabled auto-merge (rebase) October 1, 2024 17:48
@devlooped-bot
Copy link
Member

devlooped-bot commented Oct 1, 2024

44 passed 44 passed 1 skipped

🧪 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,oss", status: Contributor)
✅ 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,oss", status: Organization)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "org", status: Organization)
✅ Tests.AnalyzerTests.WhenSponsoringRole_ThenEnsureStatus(roles: "oss", status: OpenSource)
✅ 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,oss", 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 8da7b38 into main Oct 1, 2024
15 checks passed
@kzu kzu deleted the dev/tier-meta branch October 1, 2024 17:52
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.

Add tier as sponsor claim
2 participants