mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-08-18 12:08:22 +00:00
a6107fbe3d
* ci: batch fuzz targets in GitHub Actions Signed-off-by: WenyXu <wenymedia@gmail.com> * ci: improve fuzz test observability Signed-off-by: WenyXu <wenymedia@gmail.com> * fix(ci): preserve fuzz setup failure artifacts Signed-off-by: WenyXu <wenymedia@gmail.com> * test(ci): keep fuzz mock output in logs Signed-off-by: WenyXu <wenymedia@gmail.com> * ci: optimize fuzz worker cache Signed-off-by: WenyXu <wenymedia@gmail.com> * ci: warm fuzz target binaries Signed-off-by: WenyXu <wenymedia@gmail.com> * ci: isolate fuzz workflow Signed-off-by: WenyXu <wenymedia@gmail.com> * ci: centralize fuzz target preparation Signed-off-by: WenyXu <wenymedia@gmail.com> * ci: split general workflows Signed-off-by: WenyXu <wenymedia@gmail.com> * ci: streamline docs required checks Signed-off-by: WenyXu <wenymedia@gmail.com> * fix: transfer fuzz targets as artifacts Signed-off-by: WenyXu <wenymedia@gmail.com> * fix: preserve fuzz binary permissions Signed-off-by: WenyXu <wenymedia@gmail.com> * ci: streamline fuzz workers Signed-off-by: WenyXu <wenymedia@gmail.com> * ci: cache PR build dependencies Signed-off-by: WenyXu <wenymedia@gmail.com> * ci: retain main build cache policy Signed-off-by: WenyXu <wenymedia@gmail.com> * ci: address fuzz review feedback Signed-off-by: WenyXu <wenymedia@gmail.com> --------- Signed-off-by: WenyXu <wenymedia@gmail.com>
Licensing
GreptimeDB is an open-core project with a dual-license layout.
| Scope | License | Where it's declared |
|---|---|---|
| Core (default build) | Apache-2.0 | /LICENSE; per-file Apache header enforced by /licenserc.toml |
| Enterprise features | GreptimeDB Enterprise License | /LICENSE-ENTERPRISE; per-file Enterprise header enforced by /licenserc-enterprise.toml |
Enterprise sources are gated behind the enterprise Cargo feature and are not
compiled into the default open-source build. Each one carries an explicit
Enterprise License header generated from enterprise-header.txt.
How it's enforced
CI (license-header-check in .github/workflows/checks.yml) runs
hawkeye twice:
- Default config — applies the Apache-2.0 header to all sources, excluding the enterprise files.
licenserc-enterprise.toml— applies the Enterprise header to only the enterprise files.
The two file lists are complementary and must stay in sync:
licenserc.tomlexcludes— the# enterpriseblock.licenserc-enterprise.tomlincludes.
Adding a new enterprise file
- Add its path to both lists above.
- Apply the header:
hawkeye format --config licenserc-enterprise.toml. - Verify:
hawkeye check --config licenserc-enterprise.toml.
Do not put an Apache-2.0 header on an enterprise file, and do not leave an enterprise file without a header — CI fails in both cases.