Skip to content

[RFC] Starting the debugging API #562

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

Open
wants to merge 3,588 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3588 commits
Select commit Hold shift + click to select a range
6c5a0df
Disable linter on sql/ts/tests
jberdine Oct 18, 2024
8132998
Explicitly drop promises returned by upvotePost, getInitialData, getPost
jberdine Oct 24, 2024
17f30b3
Appease typescript-eslint/use-unknown-in-catch-callback-variable
jberdine Oct 24, 2024
fde4894
Appease typescript-eslint/no-empty-function
jberdine Oct 25, 2024
df256ca
Suppress typescript-eslint/no-this-alias
jberdine Oct 25, 2024
f589659
Fix type of sk_worker runner
jberdine Oct 25, 2024
1c446da
Suppress typescript-eslint/no-unnecessary-condition on while(true) loops
jberdine Oct 25, 2024
9d34a0c
Suppress typescript-eslint/no-unnecessary-condition false alarm
jberdine Oct 25, 2024
979e774
Appease typescript-eslint/no-unnecessary-type-assertion
jberdine Oct 25, 2024
f4cf93b
Appease typescript-eslint/no-useless-constructor
jberdine Oct 25, 2024
5520ec1
Appease typescript-eslint/no-array-constructor
jberdine Oct 25, 2024
807addf
Appease typescript-eslint/array-type
jberdine Oct 25, 2024
54adbab
Appease stylistic/js/lines-between-class-members
jberdine Oct 25, 2024
df6e5c1
Run linter as part of `make check-ts`
jberdine Oct 25, 2024
970f68c
Make TS sources lint-clean and enable linter in check-ts target (#435)
jberdine Oct 29, 2024
872c75a
Add CI job to build and lint ts
jberdine Oct 29, 2024
701fa2b
Add CI job to build and lint ts (#436)
jberdine Oct 29, 2024
65b8501
Rename `it` argument of `mapElement` to `values`
jberdine Oct 29, 2024
ee66c76
Rename `it` argument of `mapElement` to `values` (#437)
jberdine Oct 29, 2024
ac9c395
Rename Skip REST service and fix getOne/getArray there
bennostein Oct 29, 2024
09cb97b
[nfc] Rename Skip REST service and fix getOne/getArray there (#439)
bennostein Oct 29, 2024
5a589ed
Rename ValueMapper, add ManyToOneMapper and use it to simplify examples
jberdine Oct 29, 2024
fc98ce8
Rename ValueMapper, add ManyToOneMapper and use it to simplify exampl…
jberdine Oct 30, 2024
933e2a3
Reorder args of reactiveCompute to allow omitting context
jberdine Oct 29, 2024
adb8e26
Reorder args of reactiveCompute to allow omitting context (#438)
jberdine Oct 30, 2024
c3e35ea
[skipruntime] Fix GetResult type
skiplabsdaniel Oct 30, 2024
0d53e99
[skipruntime] Fix ServiceInstance.getAll return type (#442)
skiplabsdaniel Oct 30, 2024
678cd71
Rename SkipService inputCollections to initialData
jberdine Oct 31, 2024
4cd4d54
Rename SkipService inputCollections to initialData (#445)
jberdine Oct 31, 2024
f5c5d45
Switch French to English spelling (#447)
jberdine Oct 31, 2024
2973e48
Print error message when client cannot connect to the websocket
pikatchu Oct 14, 2024
7c0a34d
Print error message when client cannot connect to the websocket (#414)
jberdine Nov 1, 2024
651ebaa
Tighten URI terminology to URL
jberdine Oct 30, 2024
87e8888
Tighten URI terminology to URL (#444)
jberdine Nov 1, 2024
3f813b1
[skiprutime] Create api package
skiplabsdaniel Oct 30, 2024
bcacca3
[skipruntime] Create helper package
skiplabsdaniel Oct 30, 2024
bdcb6d2
[skipruntime] Move skiplang code from core package
skiplabsdaniel Oct 30, 2024
a9a180d
[skipruntime] Rename core wasm and @skipruntime/core skip-wasm
skiplabsdaniel Oct 30, 2024
5626a47
[prelude] Manage @skip-wasm group
skiplabsdaniel Oct 30, 2024
80ae98b
[skiprutime] Split tests to allow run in wasm and native
skiplabsdaniel Oct 30, 2024
b49e36b
Prepare publish
skiplabsdaniel Oct 30, 2024
7cdcf46
Publish @skip-wasm packages
skiplabsdaniel Oct 31, 2024
a1fb2cc
[skiprutime] Prepare npm packages (#443)
skiplabsdaniel Nov 1, 2024
2c4d041
Fix Timeout type (and typo)
bennostein Oct 31, 2024
eeb464b
Fix inlined interval type in Polled external resources
bennostein Oct 31, 2024
a710a5b
Fix Timeout type (and typo in name) (#446)
bennostein Nov 1, 2024
9c5dfe5
[nfc] Clearly mark externals in tests as "Mock"
bennostein Oct 31, 2024
7b87ea7
Simplify and document external service vs. supplier
bennostein Nov 1, 2024
8ed2a6a
Use consistent name for SkipExternalService
bennostein Nov 1, 2024
350f809
Propagate deletion of "ExternalSupplier" through FFI/skiplang code
bennostein Nov 1, 2024
e04f9ff
Fix up renamings after rebase over npm-packaging PR
bennostein Nov 1, 2024
4298d17
Fix TimeCollection misnomer; rename to TimerResource
bennostein Nov 1, 2024
9aa0617
[docs] Update "functions" page with some examples
bennostein Oct 30, 2024
d1eded2
Add generic `CountMapper` utility
bennostein Oct 30, 2024
326db8e
[docs] Add note pointing to CountMapper utility
bennostein Oct 30, 2024
f920fb0
[docs] Update functions.md with some examples; add a generic CountMap…
bennostein Nov 4, 2024
10a3364
Simplify nomenclature around external services (#449)
bennostein Nov 4, 2024
f6137db
[skipruntime] Fix SkipRuntime_createAccumulator
skiplabsdaniel Nov 4, 2024
a013694
[skipruntime] Fix SkipRuntime_createAccumulator (#450)
skiplabsdaniel Nov 4, 2024
a60fdf8
[skipruntime] publish packages
skiplabsdaniel Nov 4, 2024
2dfb28d
[skipruntime] publish packages (#451)
skiplabsdaniel Nov 4, 2024
ce867ea
Fix getAll path to create resources
skiplabsdaniel Nov 5, 2024
a3553b5
Fix getAll path to create resources (#460)
skiplabsdaniel Nov 5, 2024
11501d2
Get ride of X-Reactive
skiplabsdaniel Nov 5, 2024
c01b106
Get rid of X-Reactive (#461)
skiplabsdaniel Nov 5, 2024
936c1f6
Rename TJSON to Json and JSONObject to JsonObject
jberdine Nov 1, 2024
5c10bce
Rename TJSON to Json and JSONObject to JsonObject (#448)
jberdine Nov 5, 2024
a6e045b
Fix spelling
jberdine Nov 1, 2024
d7712d9
Fix spelling (#464)
jberdine Nov 5, 2024
308f330
[skc] Fix stale analysis invalidation. (#385)
beauby Nov 6, 2024
f621813
[nfc] Minor tweaks from live example coding
bennostein Nov 5, 2024
8980a86
Combine asInt/asFloat -> asNumber
bennostein Nov 5, 2024
7b54f20
[skc] Explicitly encode package name + path for source files.
beauby Oct 14, 2024
14fa8ed
[skc] Add `pkg_dir` to sklib metadata.
beauby Oct 14, 2024
84b02e3
[skiplang/skc] Get rid of stale `getAst()` function.
beauby Oct 31, 2024
193e051
[skiplang/skc] Fix error message.
beauby Nov 6, 2024
cb0f383
[skiplang/skc] Keep track of analyzed source files by package.
beauby Nov 6, 2024
56ff1e0
[skiplang/skc] Avoid re-reading source files when displaying errors.
beauby Nov 6, 2024
efb0eac
[skiplang] Update bootstrap toolchain.
beauby Nov 6, 2024
d41af6d
[skc] Display proper file paths in errors. (#465)
beauby Nov 6, 2024
f8879cb
Comments pointing replicated Json type definitions to source definition
jberdine Oct 31, 2024
c343dc1
Comments pointing replicated Json type definitions to source definiti…
jberdine Nov 6, 2024
a35089d
Rename SkipRESTService to RESTWrapperOfSkipService
jberdine Nov 5, 2024
edc7a73
Rename SkipRESTService to RESTWrapperOfSkipService (#462)
jberdine Nov 6, 2024
c6e8a47
Use string as watermark representation throughout user-facing TS
bennostein Nov 6, 2024
0adcfc1
Stop unpacking/repacking reactive response tokens in thin client
bennostein Nov 6, 2024
1f0173e
Drop special stringify handling of bigints
bennostein Nov 6, 2024
b5673c6
Use strings to represent watermarks in user-facing and/or string-enco…
bennostein Nov 6, 2024
1fa1905
Fix string vs. bigint watermark in parseReactiveResponse
bennostein Nov 6, 2024
d417172
Fix helpers imports
skiplabsdaniel Nov 6, 2024
6c63445
Fix helpers imports (#468)
skiplabsdaniel Nov 6, 2024
31a8743
Fix string vs. bigint watermark in parseReactiveResponse (#467)
bennostein Nov 6, 2024
b655355
Manage only typed key path
skiplabsdaniel Nov 5, 2024
4d70fc5
Conserve only typed key write path (#469)
skiplabsdaniel Nov 6, 2024
67fccb3
Log errors in JS server error handler
bennostein Nov 7, 2024
283836d
Improve error message for collection-not-found errors
bennostein Nov 7, 2024
ea10b02
JS rest server error logging (#470)
bennostein Nov 7, 2024
1efd6da
s/Opt/Nullable/ (in runtime and prelude)
bennostein Nov 8, 2024
7be9c8b
s/mapElement/mapEntry/
bennostein Nov 8, 2024
40e91bf
Rename accumulator->reducer and accumulate/dismiss -> add/remove
bennostein Nov 8, 2024
5bcf413
Drop custom forEach from NonEmptyIterator (use `toArray().forEach` in…
bennostein Nov 8, 2024
2aac258
Clean up terminology around supplier/service/resource/identifier for …
bennostein Nov 8, 2024
1c0d1a4
s/lazy/createLazyCollection/
bennostein Nov 8, 2024
3665c53
Rename reactiveCompute to distinguish between resource/service variants
bennostein Nov 8, 2024
fe3e64e
Apply consistent semantics and naming for "getUnique"
bennostein Nov 8, 2024
a3a3e50
Renamings/refactorings from group discussion (#498)
bennostein Nov 8, 2024
6374d1b
Convert SkipService-implementing classes to object literals
bennostein Nov 13, 2024
ff23fcd
Inline service definitions to runService calls in examples
bennostein Nov 13, 2024
18355bc
Tidy now-unused imports
bennostein Nov 13, 2024
2f2671f
Add (optional) type parameters to SkipService and Resource
bennostein Nov 13, 2024
9ee2bf4
Update examples to use generic Service/Resource types
bennostein Nov 13, 2024
7e80936
Use index type directly instead of Record for NamedCollections
bennostein Nov 13, 2024
3b1eaef
Add conditional type for initial data; fix uncovered type errors in H…
bennostein Nov 14, 2024
5f6b0ae
Generic Service/Resource types (#502)
bennostein Nov 14, 2024
0b9ad43
[skip/server] Replace websockets with SSE.
beauby Nov 6, 2024
5494263
[skip/examples] Move to SSE.
beauby Nov 12, 2024
0e613d4
[examples/hackernews] Move frontend to SSE.
beauby Nov 13, 2024
7a4e375
[skip/server] Leverage SSE protocol for update/init/watermark.
beauby Nov 15, 2024
224be50
Server-sent events (#499)
beauby Nov 18, 2024
e3e3651
Fix binding types add example url
skiplabsdaniel Nov 14, 2024
09dac84
Remove reactiveAuth management
skiplabsdaniel Nov 14, 2024
d56e93a
Force eslint 9.14.0
skiplabsdaniel Nov 18, 2024
3474e6a
Remove reactiveAuth management (#507)
skiplabsdaniel Nov 18, 2024
8e39709
Explicitly instantiate SkipService and Resource
jberdine Nov 14, 2024
a1f08d6
Explicitly instantiate SkipService and Resource (#504)
jberdine Nov 18, 2024
72ef71a
Prefer indexed object types over Record
jberdine Nov 15, 2024
f20a6bb
Prefer indexed object types over Record (#505)
jberdine Nov 18, 2024
f85969a
Splat out arguments to `slice`
bennostein Nov 19, 2024
b1b76ff
Make `slice` variadic instead of taking an array argument (#510)
bennostein Nov 19, 2024
c35d1ad
Rename freeze to deepFreeze
jberdine Nov 15, 2024
6ef6df8
Improve deepFreeze
jberdine Nov 15, 2024
11eea65
Move check near to other operations related to frozen
jberdine Nov 15, 2024
cc06423
Improve check error messages
jberdine Nov 15, 2024
2c683d6
Do not support manually deep-frozen values
jberdine Nov 15, 2024
7d9a782
Treat bigint and symbol types as primitives in deepFreeze
jberdine Nov 18, 2024
72479c1
Improve freeze (#506)
jberdine Nov 19, 2024
77d590e
[docs] getting-started changes
bennostein Nov 5, 2024
0cbb2cb
[docs] Add WIP "anatomy of a skip service" section
bennostein Nov 13, 2024
499b069
[docs] Update WIP anatomy-of-a-service section with types a la #502
bennostein Nov 18, 2024
ca31262
[docs] Flesh out prose around getting-started example; update code to…
bennostein Nov 18, 2024
6022b7f
[docs] Add overview of collections/mappers in getting-started guide
bennostein Nov 19, 2024
2266fd1
[docs] Address Lucas' PR #508 comments
bennostein Nov 19, 2024
bf96b0a
[docs] Address Josh's PR #508 comments
bennostein Nov 19, 2024
146c9ff
[docs] Getting-started draft (#508)
bennostein Nov 19, 2024
381d2cf
Use sk_frozen symbol over "__sk_frozen" string in skjson core
bennostein Nov 21, 2024
15c67a8
Use sk_frozen symbol over "__sk_frozen" string in skjson core (#516)
bennostein Nov 21, 2024
3180668
[ts] Update version of config packages to match published version.
beauby Nov 20, 2024
2f09e69
[ts] Update version of config packages to match published version. (#…
beauby Nov 22, 2024
30b026e
Manage resource instance identifier to manage URL REWRITE With SSE
skiplabsdaniel Nov 19, 2024
6f74207
Clone proxy objects when they're bound as mapper/resource params
bennostein Nov 22, 2024
9eebbbc
[skip/server] Split control service and streaming service.
beauby Nov 20, 2024
9743870
[skip/server] Split control service and streaming service. (#515)
beauby Nov 22, 2024
2c14243
[skip/ts] Clean up dependencies.
beauby Nov 22, 2024
3ac9ef6
Update docs workflow following packaging changes
jberdine Nov 1, 2024
cbf8791
Upgrade docusaurus to 3.6.2
jberdine Nov 20, 2024
d234fc7
[skip/ts] Clean up dependencies. (#521)
beauby Nov 22, 2024
ef9d7ee
Update api docs workflow following packaging changes (#513)
jberdine Nov 22, 2024
fef1729
[skip/ts] Bump versions.
beauby Nov 22, 2024
b3437bf
[skip/ts] Bump versions. (#523)
beauby Nov 22, 2024
7dff806
[examples/hackernews] Update example to SSE + HTTP2.
beauby Nov 13, 2024
a2e381a
[examples/hackernews] Update to SSE + HTTP2. (#518)
beauby Nov 22, 2024
00f234a
Export fetchJSON
jberdine Nov 22, 2024
95c0a07
Export fetchJSON (#525)
jberdine Nov 22, 2024
d726ce6
Eagerly interpret arrays (instead of proxying)
bennostein Nov 22, 2024
09ed9e0
Eagerly interpret arrays (instead of proxying) (#526)
bennostein Nov 22, 2024
b1255f1
Clone object proxies in mapper/resource params (#519)
bennostein Nov 22, 2024
334aaaf
Add `InitialData` to public skipruntime/api
bennostein Nov 21, 2024
4a034f4
de-hardcode user ID in database example
bennostein Nov 21, 2024
acdc239
Fix typo in examples error message
bennostein Nov 21, 2024
393884c
Pull getting-started example into skipruntime-ts/examples, add plumbing
bennostein Nov 21, 2024
95150a2
Backport API changes and fixes into getting-started guide
bennostein Nov 21, 2024
7a0f05f
Snake-case resource name for URL
bennostein Nov 22, 2024
1598f32
Switch to string identifiers (from number) for URL parsing simplicity
bennostein Nov 22, 2024
f06f336
Flesh out server/client for groups example
bennostein Nov 22, 2024
5a5fdd3
Drop stale targets from root Makefile
bennostein Nov 22, 2024
36d0678
Stop using array methods on proxies (until we de-proxy arrays)
bennostein Nov 22, 2024
7cfb738
[nfc] Appease eslint with syntax/style changes
bennostein Nov 22, 2024
3429ff3
Update to #515's new split control/streaming interfaces
bennostein Nov 22, 2024
ff64f49
Replace hand-written logic with `Array.prototype` equivalents
bennostein Nov 22, 2024
e5015e7
Runnable version of getting-started example (#520)
bennostein Nov 22, 2024
e012550
Add basic see-it-in-action instructions to getting-started guide
bennostein Nov 22, 2024
f804eb0
Add basic see-it-in-action instructions to getting-started guide (#528)
bennostein Nov 22, 2024
92d4b1f
Add helper function to get stream UUIDs from a wrapped Skip service
bennostein Nov 22, 2024
98f0d30
Use getStreamUUID helper in examples
bennostein Nov 22, 2024
12f6c7b
Add helper function to get stream UUIDs from wrapped Skip service (#527)
bennostein Nov 22, 2024
0181faf
[skip/server] Return raw UUIDs for `POST /streams`.
beauby Nov 23, 2024
edf1a62
[skip/server] Return raw UUIDs for `POST /streams`. (#529)
beauby Nov 23, 2024
ba0987e
[examples/hackernews] Add missing build step.
beauby Nov 23, 2024
4a7f3e9
[examples/hackernews] Add missing build step. (#530)
beauby Nov 23, 2024
b92f491
[examples/hackernews] Fix exposed ports in `Dockerfile`.
beauby Nov 23, 2024
569f8c2
[examples/hackernews] Fix exposed ports in `Dockerfile`. (#531)
beauby Nov 23, 2024
7d29b2b
[skip/ts] Bump package versions.
beauby Nov 23, 2024
5d9be43
[skip/ts] Bump package versions. (#532)
beauby Nov 23, 2024
cfa07e0
Document runService
jberdine Nov 21, 2024
4a9ea80
Disable jsdoc lint rule that raises false alarms
jberdine Nov 22, 2024
7fee63e
Document runService (#514)
jberdine Nov 25, 2024
5137c8a
Add type for running server returned by runService
jberdine Nov 25, 2024
9cc1fbb
Add type for running server returned by runService (#534)
jberdine Nov 25, 2024
0f0bd4d
Add streamURL helper function
jberdine Nov 25, 2024
fc341f5
Add streamURL helper function (#537)
jberdine Nov 25, 2024
86981a8
Add `slice` to EagerCollection API, with JS array slice semantics
bennostein Nov 25, 2024
bec5921
Update unit tests with `slice` and `slices`
bennostein Nov 25, 2024
f7ba131
Change EagerCollection `slice` behavior to match JS `Array.prototype.…
bennostein Nov 25, 2024
0e7413f
[skipruntime] Fix packages usage version
skiplabsdaniel Nov 26, 2024
8c0b60c
[skipruntime] Fix packages usage version (#541)
skiplabsdaniel Nov 26, 2024
1f93a10
[skipruntime] Fix spelling
skiplabsdaniel Nov 26, 2024
02ed4c7
[skipruntime] Fix spelling (#540)
skiplabsdaniel Nov 26, 2024
6dcbea8
Manage resource sharing
skiplabsdaniel Nov 26, 2024
907c549
rename sources_destinations.md to externals.md
bennostein Nov 4, 2024
ca11026
Rework overview of externals.md; add skeleton markdown headers
bennostein Nov 4, 2024
bd31088
[docs] Drop mirroring.md docs page (feature dropped from alpha)
bennostein Nov 19, 2024
90f6df8
[docs] External sources overview
bennostein Nov 19, 2024
6d5bdd2
Rename "resources" docs page; add skeleton for new resources page.
bennostein Nov 26, 2024
8f01b0a
Add section on external skip services
bennostein Nov 26, 2024
d5a1131
Drop streaming-sources subsection
bennostein Nov 26, 2024
754fe61
Add section on Polled external resources
bennostein Nov 26, 2024
786d8f6
Add brief section describing custom external resources
bennostein Nov 26, 2024
0040c7d
[skipruntime] Manage resource sharing (#533)
skiplabsdaniel Nov 26, 2024
76b9ffa
Add deleteUUID helper function
jberdine Nov 26, 2024
5651c35
Add deleteUUID helper function (#542)
jberdine Nov 26, 2024
72b1cf4
Prose improvements and added detail on `params`
bennostein Nov 26, 2024
3748585
[www/docs] External services (#544)
bennostein Nov 26, 2024
c3c4e91
Fix docs page based on section file renames
jberdine Nov 26, 2024
cfd7d79
Fix docs page based on section file renames (#548)
jberdine Nov 26, 2024
d55cab3
Revert "Add streamURL helper function (#537)"
jberdine Nov 26, 2024
7e07426
Revert "Add streamURL helper function (#537)" (#547)
jberdine Nov 27, 2024
5141509
Rename RESTWrapperOfSkipService to SkipServiceBroker
jberdine Nov 25, 2024
2ccbeb7
Document SkipServiceBroker
jberdine Nov 25, 2024
ee127cf
Rename RESTWrapperOfSkipService to SkipServiceBroker and document it …
jberdine Nov 27, 2024
8b609d8
Tighten type in http get key implementation
jberdine Nov 27, 2024
bb99498
Tighten type in http get key implementation (#552)
mbouaziz Nov 27, 2024
8f43a5f
Add getUnique to SkipServiceBroker
jberdine Nov 26, 2024
2f0b3f7
Add getUnique to SkipServiceBroker (#550)
jberdine Nov 27, 2024
46e95de
Docs for SKStore
pikatchu Jun 20, 2024
871a6ff
Docs for SKStore (#246)
jberdine Nov 27, 2024
ba652aa
[skjson/ts] Remove unused mappings
mbouaziz Nov 27, 2024
627720d
[ts] add readonly modifier to classes
mbouaziz Nov 25, 2024
a8b2739
[ts] add readonly modifier (#536)
mbouaziz Nov 27, 2024
dbc7bf0
skipruntime/client package is gone
jberdine Nov 27, 2024
bcf3147
moved source TODO to issue https://github.com/SkipLabs/skip/issues/553
jberdine Nov 27, 2024
6ce8272
moved source TODO to issue https://github.com/SkipLabs/skip/issues/554
jberdine Nov 27, 2024
63bcb86
fill in links in docs pages
jberdine Nov 27, 2024
79a5d60
Cleanup links and TODOs in docs (#555)
jberdine Nov 27, 2024
5d9b122
Document api docs workflow
jberdine Nov 27, 2024
2f7364e
Update js deps
jberdine Nov 27, 2024
56034f3
Document api docs workflow (#556)
jberdine Nov 27, 2024
3853e81
Tighten type of fetchJSON
jberdine Nov 28, 2024
c62fb93
Tighten type of fetchJSON (#559)
jberdine Nov 28, 2024
1dbc0db
[RFC] Starting the debugging API
mbouaziz Nov 26, 2024
8a0dbf9
Add dirs
mbouaziz Nov 26, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
120 changes: 120 additions & 0 deletions .circleci/base.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
version: 2.1

commands:
setup:
description: "Setup skip toolchain"
steps:
- run:
name: Fetch submodules
command: |
git submodule update --init --recursive

jobs:
check-format:
docker:
- image: skiplabs/skdb-base:latest
steps:
- checkout
- run:
name: Check code is formatted
command: |
make check-fmt

check-ts:
docker:
- image: skiplabs/skdb-base:latest
steps:
- checkout
- setup
- run:
name: Typecheck and lint typescript sources
command: bun install && npm run build && npm run lint

compiler:
docker:
- image: skiplabs/skdb-base:latest
resource_class: xlarge
steps:
- checkout
- setup
- run:
name: Run compiler tests
no_output_timeout: 30m
command: |
mkdir -p ~/test-results
cd skiplang/compiler && make STAGE=1
PATH=$(realpath ./stage1/bin):$PATH skargo test --jobs 8 --junitxml ~/test-results/skc.xml
- store_test_results:
path: ~/test-results/skc.xml

skstore:
docker:
- image: skiplabs/skdb-base:latest
steps:
- checkout
- setup
- run:
name: Run skstore tests
command: |
mkdir -p ~/test-results
cd skiplang/prelude && skargo test --jobs 8 --junitxml ~/test-results/skstore.xml
- store_test_results:
path: ~/test-results/skstore.xml

skdb:
docker:
- image: skiplabs/skdb-base:latest
steps:
- checkout
- setup
- run:
name: Run native skdb tests
command: |
make test-native

skdb-wasm:
docker:
- image: skiplabs/skdb-base:latest
steps:
- checkout
- setup
- run:
name: Run wasm skdb tests
no_output_timeout: 15m
command: |
mkdir -p ~/test-results
make test-wasm
- store_test_results:
path: ~/test-results/skdb-wasm.xml

skjson:
docker:
- image: skiplabs/skdb-base:latest
steps:
- checkout
- setup
- run:
name: Run skjson tests
command: |
mkdir -p ~/test-results
cd skiplang/skjson && skargo test --junitxml ~/test-results/skjson.xml
- store_test_results:
path: ~/test-results/skjson.xml

skipruntime-wasm:
docker:
- image: skiplabs/skdb-base:latest
steps:
- checkout
- setup
- run:
name: Typecheck and lint skip runtime
command: cd skipruntime-ts && make check-all
- run:
name: Run wasm skip runtime tests
no_output_timeout: 10m
command: |
mkdir -p ~/test-results
cd skipruntime-ts && make test
- store_test_results:
path: ~/test-results/skipruntime-wasm.xml
23 changes: 23 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
version: 2.1

setup: true

orbs:
continuation: circleci/[email protected]

jobs:
setup:
executor: continuation/default
steps:
- checkout
- run:
name: Generate config
command: |
.circleci/generate_config.sh > generated_config.yml
- continuation/continue:
configuration_path: generated_config.yml

workflows:
setup:
jobs:
- setup
79 changes: 79 additions & 0 deletions .circleci/generate_config.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
#!/bin/bash

# TODO: This is flaky as it relies on coarse directory-level diffs.
git diff --quiet HEAD $(git merge-base main HEAD) -- $(jq --raw-output ".workspaces[]" package.json)
check_ts=$?
git diff --quiet HEAD $(git merge-base main HEAD) -- skiplang/compiler/ skiplang/prelude/ :^skiplang/prelude/ts
skc=$?
git diff --quiet HEAD $(git merge-base main HEAD) -- skiplang/prelude/src/skstore/ skiplang/compiler/runtime/
skstore=$?
git diff --quiet HEAD $(git merge-base main HEAD) -- sql/ skiplang/sqlparser/ skiplang/skbuild/
skdb=$?
git diff --quiet HEAD $(git merge-base main HEAD) -- skipruntime-ts/
skipruntime_wasm=$?
git diff --quiet HEAD $(git merge-base main HEAD) -- skiplang/prelude/ts/
ts_prelude=$?

cat .circleci/base.yml

echo "workflows:"

cat <<EOF
check-format:
jobs:
- check-format
EOF

if (( $check_ts != 0 ))
then
cat <<EOF
check-ts:
jobs:
- check-ts
EOF
fi

if (( $skc != 0 ))
then
cat <<EOF
compiler:
jobs:
- compiler
EOF
fi

if (( $skstore != 0 ))
then
cat <<EOF
skstore:
jobs:
- skstore
EOF
fi

if (( $skdb != 0 || $skstore != 0 ))
then
cat <<EOF
skdb:
jobs:
- skdb
EOF
fi

if (( $skdb != 0 || $skstore != 0 || $ts_prelude != 0 ))
then
cat <<EOF
skdb-wasm:
jobs:
- skdb-wasm
EOF
fi

if (( $skdb != 0 || $skstore != 0 || $skipruntime_wasm != 0 || $ts_prelude != 0 ))
then
cat <<EOF
skipruntime-wasm:
jobs:
- skipruntime-wasm
EOF
fi
Loading