Repository navigation
Add the Certificate of Contribution - #948
Merged
Merged
Conversation
Every PMC member, committer and contributor listed on the site can get an Apache SkyWalking certificate at /certificate/. It is drawn in the browser from data the build publishes, downloads as PNG and prints on one A4 page. - data/repositories.yml catalogs every counted repository into eight contribution categories; validation fails while a repository is missing, duplicated or stale. The certificate's contribution polygon has one vertex per category, placed by the person's rank in it in 10% bands. - scripts/certificate.js builds the page data and each day's list of issued certificate codes (certificate/verify/<date>.txt). A certificate ID is the date plus an 80-bit SHA-256 code over its facts; its QR code carries both, and the page verifies them against that day's list. - The deploy carries certificate/verify/ forward on asf-site, and only that folder; deploying runs share one concurrency group. - Team page certificate badge, a certificate button on contributor pages, and a full-width contributors page header.
✅ Deploy Preview for skywalking-website-preview ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Every PMC member, committer and contributor listed on skywalking.apache.org can get an Apache SkyWalking Certificate of Contribution at
/certificate/. Nothing is pre-generated: the browser draws the certificate on demand from data the build publishes, as a PNG download or a one-page A4 print. Its QR code links back to the site, where anyone can verify it.What a certificate shows
Repository catalog:
data/repositories.ymlEvery repository the site counts (
data/projects.yml, Showcase, Website) is listed under one of eight categories: Protocol, Main, Agent, Database, Blogs & Website, Tools, Visualization, Community Projects. The order is the polygon's vertex order.scripts/project-config.jsrejects a missing, duplicated or stale entry, and it runs in every build, so a new repository must be added here in the same PR that adds it to the site. Please review the category of each repository; judgement calls include Showcase → Tools, BanyanDB Client Proto → Database, CN Documentations → Community Projects.Verification
scripts/certificate.jsruns afternpm run teamand writes two gitignored files: today's page data, rebuilt on every build and never kept, andcertificate/verify/<date>.txt, a header naming that day's categories followed by the code of every certificate that can be issued that day (about 15 KB, 858 codes today).assets/js/certificate/model.js) is shared by the build and the browser, so both compute identical codes.Deploy change
peaceiris/actions-gh-pagesreplaces the wholeasf-sitetree on every deploy. A new step, "Keep issued certificate records", carries onlycertificate/verify/forward from the currentasf-site(a blobless fetch, so only those files are downloaded) and merges same-day lists. Every other page is replaced as before. The deploy job now has a concurrency group, so two deploys cannot drop each other's records; PR builds keep their own groups.Other changes
layouts/contributors/list.htmlreplaces the theme's container wrapper.js-yamlbecomes a direct dependency:yamljsreads an unquoted login such as0xAlanYinas a hex number.README.mdandCLAUDE.mddocument the catalog rule and the certificate data. Anonymous commits, bots and name-only extras (e.g. Adrian Cole inextraContributors) get no certificate, since they cannot be verified against a GitHub account; the contributors page still lists them.Testing
npm test: 19 tests pass, 7 new (catalog validation, data building, bands, codes, the day file, unusual logins).asf-site: old days kept, same-day lists merged, stale pages not carried. It has not run in real CI yet; the first deploy finds no folder and starts it.🤖 Generated with Claude Code