-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathbb.edn
More file actions
60 lines (44 loc) · 2.7 KB
/
Copy pathbb.edn
File metadata and controls
60 lines (44 loc) · 2.7 KB
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
{:paths ["src"]
:deps {org.clojure/clojure {:mvn/version "1.12.4"}}
:tasks
{test {:doc "Run the test suite."
:task (clojure "-M:test" "-m" "cognitect.test-runner")}
api-surface:update {:doc "Regenerate the versioned multi-namespace public API snapshot."
:task (clojure "-M:test" "-m" "github.copilot-sdk.api-surface")}
fmt {:doc "Format all Clojure files."
:task (clojure "-M:fmt" "fix" "src" "test" "examples" "benchmarks/clojure")}
fmt:check {:doc "Check formatting without modifying files."
:task (clojure "-M:fmt" "check" "src" "test" "examples" "benchmarks/clojure")}
docs {:doc "Generate API documentation with codox."
:task (clojure "-X:codox")}
jar {:doc "Build the JAR and POM."
:task (clojure "-T:build" "jar")}
install-docs:sha {:doc "Update git dependency SHA in install docs (README, getting-started) to HEAD."
:task (clojure "-T:build" "update-install-doc-shas")}
ci {:doc "Run CI pipeline: unit/integration tests, doc validation, jar build."
:task (shell "bash" "-lc"
"bb test && bb validate-docs && bb jar")}
ci:full {:doc "Run full CI pipeline including E2E tests and examples (requires copilot CLI)."
:task (shell "bash" "-lc"
"COPILOT_E2E_TESTS=true bb test && ./run-all-examples.sh && bb validate-docs && bb jar")}
ci:deploy {:doc "Run the CI pipeline and deploy to Maven Central."
:depends [ci]
:task (clojure "-T:build" "deploy-central")}
install {:doc "Install the JAR locally (build via ci)."
:task (clojure "-T:build" "install")}
validate-docs {:doc "Validate documentation: links, code blocks, and structure."
:task (shell "bb" "-cp" "script" "script/validate_docs.clj")}
schemas:fetch {:doc "Fetch upstream @github/copilot JSON Schemas at the pinned version into schemas/."
:task (shell "bb" "script/codegen/fetch_schemas.clj")}
codegen {:doc "Regenerate Clojure code from upstream JSON Schemas in schemas/."
:task (shell "bb" "-cp" "script" "-m" "codegen.main")}
benchmark:test
{:doc "Run benchmark infrastructure contract tests."
:task (shell "bash" "-lc"
"clojure -M:test -m cognitect.test-runner -n github.copilot-sdk.benchmark-contract-test && node --test benchmarks/test/*.test.mjs")}
benchmark:smoke
{:doc "Run the quick matched Node/Clojure benchmark profile."
:task (clojure "-M:bench" "-m" "github.copilot-sdk.bench.runner" "--profile=smoke")}
benchmark:rigorous
{:doc "Run the rigorous matched Node/Clojure benchmark profile."
:task (clojure "-M:bench" "-m" "github.copilot-sdk.bench.runner" "--profile=rigorous")}}}