Repository navigation
Commit 2fb27d8
committed
Enforce the licence position in CI, document it
Every check here exists because something was found missing; the point
is that it cannot regress quietly.
Two jobs. The first mirrors `pnpm compliance` — LICENSE complete with a
filled-in copyright, required files present, package.json declares
Apache-2.0, no assets loaded from third-party origins, the footer
attribution link intact, inventory fresh against the installed tree.
The second is the one that matters. It builds the app and asserts the
licence text is in dist/, carries 40+ copyright notices, includes the
Apache ECharts NOTICE attribution and the OFL-1.1 text, and that the
bundle references it at the production base path. Everything in the
first job verifies files exist in a repository; only this one verifies
the notices reach the person receiving the software, which is what the
obligation actually is.
Both jobs pass `package_json_file: Benchmarking/package.json` to
pnpm/action-setup. `defaults.run.working-directory` only affects `run:`
steps — `uses:` steps run from the workspace root, and there is no root
package.json, so without this the action fails before setup-node runs.
Three checks were written weakly on the first pass and are now tested
against the cases they missed:
Footer link `.includes('LICENCES_URL')` passed when the <Anchor> was
deleted and only the import remained. Now requires
`href={LICENCES_URL}`, and fails if a `visibleFrom`
appears on it — a mobile visitor gets the same bundle as
a desktop one, so a breakpoint-hidden link leaves them no
route to the notices while every other check stays green.
CDN origins A blocklist of known CDN hostnames let esm.sh,
ajax.googleapis.com, skypack.dev and use.typekit.net
through. Replaced with an allowlist over every absolute
URL surviving comment-stripping. Verified against all
four plus jsdelivr and fonts.googleapis.com; prose URLs
in comments still pass.
Build output `pnpm compliance` could report green while the bundle
shipped no attribution at all. Added as
`pnpm compliance:full`, opt-in locally because it costs
~20s, always-on in CI.
README gains a Licensing section — for a change whose whole purpose is
making the licence position legible, the most-read file in the repo was
silent on it.
docs/LICENCE-REVIEW-RESPONSE.md is the finding-by-finding write-up,
including which of the server's ten findings do not apply here and why.
Two were already satisfied before this branch: dependency pinning, since
pnpm-lock.yaml pins the tree, and self-hosted fonts, since Inter has
always come through @fontsource rather than a CDN.1 parent 5e96bd6 commit 2fb27d8
4 files changed
Lines changed: 819 additions & 0 deletions
File tree
- .github/workflows
- Benchmarking/scripts
- docs
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
0 commit comments