Skip to content

Insight Backend #415

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,230 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3230 commits
Select commit Hold shift + click to select a range
7cc49bd
[skargo] Always copy final artifacts when `--out-dir` is set. (#341)
beauby Sep 25, 2024
ce59ded
[skipruntime] Fix wasm import.
beauby Sep 25, 2024
3401bba
[skipruntime] Fix wasm import. (#342)
beauby Sep 25, 2024
92893f1
[skipruntime] Generate `libskip-runtime.wasm` as a lib.
beauby Sep 26, 2024
7348910
[rfc] Architecture
beauby Sep 13, 2024
5a3d2e4
[skstore] Extends subscribe mecanism to perform watchs
skiplabsdaniel Jun 24, 2024
618f0ad
Run all components together
skiplabsdaniel Sep 23, 2024
09a8a69
[skipruntime] Simplify replication protocol.
beauby Sep 25, 2024
986898e
[skipruntime] Simplified replication server.
beauby Sep 25, 2024
2ded949
Run with replication
skiplabsdaniel Sep 23, 2024
53c7fdd
Fix lints.
beauby Sep 26, 2024
8d7019b
[skipruntime] Use proper npm packages instead of `sknpm`.
beauby Sep 26, 2024
8f7ac94
Format ts files following removal of `prettier-ignore` directives.
beauby Sep 27, 2024
b3ce245
[skipruntime] Clean up npm packaging.
beauby Sep 24, 2024
8f612aa
Update test / database example
skiplabsdaniel Sep 24, 2024
eccb65c
[skipruntime] Run test / linter
skiplabsdaniel Sep 24, 2024
db98af4
Translate External test
skiplabsdaniel Sep 26, 2024
90cd474
Clean SkipRuntime
skiplabsdaniel Sep 25, 2024
aaa894a
[skdate] clean ts package
skiplabsdaniel Sep 24, 2024
1b1eccc
[skipruntime] Self-contained `npm run build` for ts package.
beauby Sep 25, 2024
19e4e59
Consolidate eslint configuration files.
beauby Sep 25, 2024
e2f4f47
Resurrect skipruntime's `eslint.config.js`.
beauby Sep 26, 2024
efcd6ed
Consolidate `tsconfig.json` configs through npm package.
beauby Sep 25, 2024
5bce876
Resurrect skipruntime's `tsconfig.json`.
beauby Sep 26, 2024
0931772
[skipruntime] linter on tests
skiplabsdaniel Sep 26, 2024
5511c47
[skdb] Build and run wasm tests without sknpm
skiplabsdaniel Sep 26, 2024
5b0d53d
[skdb] linter
skiplabsdaniel Sep 26, 2024
aa9c14a
[skipruntime] Fix `Makefile`.
beauby Sep 26, 2024
f1e2b61
[skdb] Fix `Makefile`.
beauby Sep 26, 2024
a1258a9
Update nodejs version in `Dockerfile`.
beauby Sep 27, 2024
289cdf1
Avoid using system-wide installed `tsc`.
beauby Sep 27, 2024
2d209ea
[skipruntime] Disable linting of examples.
beauby Sep 27, 2024
126b5db
[skipruntime] Fix testExternalCall
skiplabsdaniel Sep 27, 2024
68ad6ca
[skipruntime] Clarify API
skiplabsdaniel Sep 28, 2024
e2ae31e
[skipruntime] Fix reactive auth management on getOne
skiplabsdaniel Sep 28, 2024
61def01
[skipruntime] Clarify database example
skiplabsdaniel Sep 28, 2024
d079404
[skipruntime] Update SkipService data init process.
skiplabsdaniel Sep 28, 2024
37489ce
Resource-based architecture for skipruntime. (#343)
beauby Sep 28, 2024
f64d1ce
Use npm `workspaces` feature.
beauby Sep 27, 2024
4eac7bd
Consolidates dev dependencies in root `package.json`.
beauby Sep 27, 2024
c3881c3
Add build/clean/lint/test targets to npm packages.
beauby Sep 28, 2024
0307571
Add root-level `build`/`clean`/`lint`/`test` npm scripts.
beauby Sep 27, 2024
671d2c1
Leverage npm workspace in `Makefile`s.
beauby Sep 28, 2024
773e6e3
[skdb] Symlink `node_modules` to the base workspace.
beauby Sep 29, 2024
438647c
Consolidate npm packages around npm workspaces. (#344)
beauby Sep 30, 2024
f8d6687
[skipruntime] Replace `playwright` with `mocha` for tests.
beauby Sep 28, 2024
3486df5
[skipruntime] Simplify tests.
beauby Sep 28, 2024
5d2bf72
[skipruntime] Replace playwright with mocha for tests. (#346)
beauby Sep 30, 2024
281cbf9
[runtime] Invoke `distclean` for `libbacktrace` upon runtime `clean`.…
beauby Sep 30, 2024
a98228a
Update @types/node
mbouaziz Sep 23, 2024
db3ed4f
Fewer as (tests)
mbouaziz Sep 23, 2024
514d46f
Fewer as (src)
mbouaziz Sep 23, 2024
f3df127
Simplify lazy
mbouaziz Sep 23, 2024
47ba54e
Merge run and runUrl
mbouaziz Sep 23, 2024
2012a4b
Rename sliced -> slice
mbouaziz Sep 23, 2024
34ebb8d
Simplification 1
mbouaziz Sep 23, 2024
eb70c09
Simplification 2
mbouaziz Sep 23, 2024
b7bd191
[skipruntime-ts] Minor simplifications (#345)
mbouaziz Sep 30, 2024
e30a10c
[skipruntime] Reorganize directories.
beauby Sep 28, 2024
4e244dd
[skipruntime] Use scoped npm packages.
beauby Sep 28, 2024
f67fb33
[skipruntime] Split out `server` from `core`.
beauby Sep 28, 2024
08b4702
[skipruntime] Reorganize directories. (#347)
beauby Sep 30, 2024
3b101ac
Replace `delete` by `deleteKeys` on CollectionWriter
bennostein Sep 30, 2024
0d20265
Replace `delete` by `deleteKey` on SkipRuntime
bennostein Sep 30, 2024
a760779
Replace `delete` by `deleteHandle` on Handles
bennostein Sep 30, 2024
2532281
[nfc] Get rid of methods named `delete` to avoid clashing with JS key…
bennostein Sep 30, 2024
d7fb672
Fix TimedQueue
mbouaziz Sep 23, 2024
4b35fda
Do not allow to build TimedQueue with queue and timeout
mbouaziz Sep 23, 2024
bb49eef
Use NodeJS.Timeout
mbouaziz Sep 23, 2024
08fb827
Use Date.now()
mbouaziz Sep 24, 2024
b779d00
Annotate return types
mbouaziz Sep 24, 2024
1d1afab
Throw on invalid interval
mbouaziz Sep 24, 2024
572ca33
Start from now
mbouaziz Sep 24, 2024
d25a1e9
Remove unncessary condition
mbouaziz Sep 24, 2024
494eb4b
Make check private
mbouaziz Sep 24, 2024
c11a510
[RFC] Do not leap re-updates
mbouaziz Sep 24, 2024
dfe2edd
Use a heap for TimedQueue
mbouaziz Sep 24, 2024
c3dc7c5
Factorize schedule
mbouaziz Sep 24, 2024
11affdf
Split out add
mbouaziz Sep 24, 2024
6a21951
Disallow starting the TimedQueue twice
mbouaziz Sep 24, 2024
03bb95f
[skipruntime] Mark the `skipruntime-examples` package as private.
beauby Sep 28, 2024
f198e7d
Delete stale `.prettierrc`.
beauby Oct 1, 2024
8983b58
Simplify nodejs exports.
beauby Sep 29, 2024
1a9443a
[skipruntime-ts] Improvements on TimedQueue (#350)
mbouaziz Oct 1, 2024
b75fc5c
Minor clean ups for npm packages. (#351)
beauby Oct 1, 2024
f61017a
Remove unused module aliases
mbouaziz Oct 1, 2024
af7b2ba
Remove unused kJSONTypes
mbouaziz Oct 1, 2024
0aeb897
Remove unused native class Info
mbouaziz Oct 1, 2024
759aa7d
Move JSONFile closer to JSONID
mbouaziz Oct 1, 2024
b460529
Factorize withOptContext pattern
mbouaziz Oct 1, 2024
25fd7cd
There are no examples in src
mbouaziz Oct 1, 2024
cc79503
Check types of tests too
mbouaziz Oct 1, 2024
29030d2
freeze has been moved to _impl
mbouaziz Oct 1, 2024
866a8aa
Simplify type CreateSKStore
mbouaziz Oct 1, 2024
8ce4e12
Move initialization to _init
mbouaziz Oct 1, 2024
a5c460e
Move REST runtime to _rest
mbouaziz Oct 1, 2024
a2c23cf
Simplify import-export
mbouaziz Oct 1, 2024
99cf99b
No need to re-export int and Opt from _api
mbouaziz Oct 1, 2024
b006c9f
Fix typo Watermaked
mbouaziz Oct 1, 2024
ea217bc
Remove unnecessary override
mbouaziz Oct 1, 2024
fcc58f7
[skipruntime-ts] More cleanups (#353)
mbouaziz Oct 1, 2024
34eacd4
context: typos
mbouaziz Feb 29, 2024
427463b
Last argument of mkdir is optional
mbouaziz Sep 26, 2024
5d72a7d
Simplify mkdir
mbouaziz Sep 26, 2024
cf290f8
Simplify mkdir (2)
mbouaziz Sep 26, 2024
44220c6
Simplify currentArrow
mbouaziz Sep 26, 2024
36f0051
faster create
mbouaziz May 16, 2024
c656232
Use isEmpty
mbouaziz May 16, 2024
0f6a7e4
Use readonly
mbouaziz May 16, 2024
c544ba1
Make methods private to keep control on indices
mbouaziz May 30, 2024
8a1e918
Visibility restrictions
mbouaziz May 30, 2024
b5da437
nit
mbouaziz May 30, 2024
f48fe96
isSortedBy
mbouaziz May 17, 2024
95c57a0
isSorted
mbouaziz May 16, 2024
3a731a0
Make FixedRow orderable
mbouaziz May 17, 2024
b3f0122
Use sort
mbouaziz May 21, 2024
ea0679d
Use isSorted
mbouaziz May 21, 2024
66e7c0a
Remove Sequence.zipN
mbouaziz May 30, 2024
9e44d33
context: simplify fromSaved
mbouaziz Feb 29, 2024
2751462
Make DataMap::set take a Tick rather than a TickRange
mbouaziz Sep 26, 2024
809992f
Use TickRange::create
mbouaziz Sep 26, 2024
a0ddc4c
Named arguments for TickRange constructor
mbouaziz Sep 26, 2024
543ba67
Make DMap.set take a Tick rather than a TickRange
mbouaziz Sep 26, 2024
45d4465
Helper for computeTags
mbouaziz Sep 26, 2024
230aeff
get(Last)Tick are not used
mbouaziz Sep 26, 2024
01ebb6a
[SkStore] Minor cleanups (#354)
mbouaziz Oct 1, 2024
0c15da7
Remove useless package
skiplabsdaniel Oct 1, 2024
649340b
Remove sknpm references
skiplabsdaniel Oct 1, 2024
e0dae2f
Remove from docs
skiplabsdaniel Oct 1, 2024
9d262e5
Remove useless package (#355)
skiplabsdaniel Oct 1, 2024
21d6c88
[skipruntime] Get rid of `TimedQueue`.
beauby Oct 1, 2024
907b4c3
[skipruntime] Get rid of `TimedQueue`. (#356)
beauby Oct 1, 2024
de007f2
[skipruntime/core] Simplify tests.
beauby Oct 1, 2024
da00577
Auto format.
beauby Oct 2, 2024
b233d2a
[skipruntime/core] Simplify tests. (#357)
mbouaziz Oct 2, 2024
b6ab746
Use setImmediate rather than setTimeout(0)
mbouaziz Oct 2, 2024
ea7f1b0
Simplify call to register
mbouaziz Oct 2, 2024
67c2bbc
Fix type of register
mbouaziz Oct 2, 2024
4751190
Remove unused Handles.name
mbouaziz Oct 2, 2024
8e6fd24
Rename type parameter M to Metadata
mbouaziz Oct 2, 2024
c08c7d5
Fix type of call to asyncLazy in external
mbouaziz Oct 2, 2024
3e5c362
Fix type of ContextImpl.asyncLazy
mbouaziz Oct 2, 2024
db2d4b0
Move Metadata as the last type parameter
mbouaziz Oct 2, 2024
0d2864a
Make Metadata type parameter optional and default to never
mbouaziz Oct 2, 2024
088d31d
Fix type of Metadata in test
mbouaziz Oct 2, 2024
ef683c8
[skipruntime-ts] Make Metadata type parameter optional and default to…
mbouaziz Oct 3, 2024
abbe414
[runtime] Switch from steady_clock to system_clock
jberdine Sep 27, 2024
e87d951
[runtime] Switch from steady_clock to system_clock (#360)
jberdine Oct 3, 2024
1c7cc67
Cleanup after switch from playwright
jberdine Oct 3, 2024
c9cd756
Cleanup after sknpm removal
jberdine Oct 3, 2024
3800351
Drop opaque `RefreshToken` type
bennostein Oct 2, 2024
0e47000
Improve comments & naming around watermarks; drop `Notifier` type alias
bennostein Oct 3, 2024
c4b6cef
s/EntryPoint/Entrypoint/
bennostein Oct 3, 2024
e7ac9fe
Minor cleanups after removal of playwright and sknpm (#361)
jberdine Oct 4, 2024
d32846b
Switch check targets from npm to bun
jberdine Sep 20, 2024
3514c9c
Switch test target from npm to bun
jberdine Oct 3, 2024
7b3be56
Switch check targets from npm to bun (#338)
jberdine Oct 4, 2024
65c1d49
Move skip toolchain and packages under `skiplang/`.
beauby Oct 4, 2024
8d3e7be
Update file paths to skiplang packages.
beauby Oct 4, 2024
2d0a3bd
Move skip toolchain and packages under `skiplang/`. (#365)
beauby Oct 4, 2024
65b55c6
[skc] Move declarations of directory names.
beauby Oct 5, 2024
06c581b
[skc] Move directory definitions together.
beauby Oct 5, 2024
11785e2
[skc] Move declarations of input dirs together.
beauby Oct 5, 2024
e7e8c7b
[skc] Get rid of single-use variable.
beauby Oct 5, 2024
a3c2cb3
[skc] Do not populate `backendDir` upon declaration.
beauby Oct 5, 2024
888d1d2
[skc] Use `backendDirName` as canary instead of `fileDirName`.
beauby Oct 5, 2024
881bcd4
Clean up skipruntime_api, add and fix some docs
bennostein Oct 3, 2024
244bd87
Refactor SKStoreFactory to drop intermediate SkipBuilder
bennostein Oct 7, 2024
dfa43c6
Rename SKStore interface to Context
bennostein Oct 7, 2024
988d589
Rename Watermarked to UpdatedValues and fix JSON object keys
bennostein Oct 7, 2024
08b873c
Document UpdatedValues fields
bennostein Oct 7, 2024
fc3fcef
[sktest] Remove unnecessary `skbuild` dependency.
beauby Oct 7, 2024
1ad408c
[prelude] Get rid of stale `build_wasm32.mk`.
beauby Oct 7, 2024
a4bc63d
[skc] Remove support for `SKC_LIBRARIES`.
beauby Oct 7, 2024
1f329cc
[skc] Remove support for `SKC_LINK`.
beauby Oct 7, 2024
500dd27
[skc] Fix `test` target in `Makefile`.
beauby Oct 7, 2024
8cb6a7b
[skc] Fix `test` target in `Makefile`. (#370)
beauby Oct 7, 2024
7e69f4e
[skc] Remove support for `SKC_LINK`/`SKC_LIBRARIES` env vars. (#369)
beauby Oct 7, 2024
9dfa4dc
[sktest] Remove unnecessary `skbuild` dependency. (#367)
beauby Oct 7, 2024
f5b49cb
SkipRuntime cleanups and doc comments (#362)
bennostein Oct 7, 2024
27128d6
[skc] Factor out `getOrInitializeBackend()`.
beauby Oct 5, 2024
da46e2c
[skc] Handle `--version` flag outside of `Config`.
beauby Oct 6, 2024
d037699
[skc] Pass only `ptrBitSize` to back-end initialization.
beauby Oct 7, 2024
a92b879
[skc] Clean up `compile()`. (#366)
beauby Oct 7, 2024
ee718a3
[prelude] Get rid of stale `build_wasm32.mk`. (#368)
beauby Oct 7, 2024
f992d41
[skjson] Add toString to Proxies join to ArrayProxy
skiplabsdaniel Oct 7, 2024
0b704e8
[skjson] Fix createCJInt
skiplabsdaniel Oct 4, 2024
15fdc73
[skjson] Add toString to Proxies join to ArrayProxy (#372)
skiplabsdaniel Oct 7, 2024
025b6bb
[skstore] Remove sub directories on EagerDir delete.
skiplabsdaniel Oct 4, 2024
31992f4
[skstore] Add persistents user data
skiplabsdaniel Sep 30, 2024
af34ce9
[skstore] Add onDirDelete mechanism
skiplabsdaniel Oct 2, 2024
639202e
[sktore] Remove sub directories on EagerDir delete. (#373)
skiplabsdaniel Oct 7, 2024
be7fe9c
Fix CI after moving skip code under `skiplang/`.
beauby Oct 7, 2024
3af346b
Fix CI after moving skip code under `skiplang/`. (#374)
beauby Oct 7, 2024
9566127
[sktest] Fix `build.sk`.
beauby Oct 7, 2024
98b905d
[sktest] Fix `build.sk`. (#375)
beauby Oct 7, 2024
e5fbe4c
[skc] Move `getLastModificationTime()` into stdlib.
beauby Oct 7, 2024
f5dc214
[skipruntime] Implement Skip runtime directly in Skip
skiplabsdaniel Oct 2, 2024
ad4e837
[skipruntime] New wasm mapping
skiplabsdaniel Oct 2, 2024
39b7d81
Add remote basic example
skiplabsdaniel Oct 4, 2024
2a38ab2
Add http call example
skiplabsdaniel Oct 7, 2024
d37154c
[skipruntime] Manage skip runtime in SKIPLang (#364)
skiplabsdaniel Oct 7, 2024
4193fcb
[skc] Move `getLastModificationTime()` into stdlib. (#376)
beauby Oct 8, 2024
f7be7df
Unify type for `CollectionUpdate` in diff/subscribe operations; use b…
bennostein Oct 7, 2024
a71facc
Make watermarks opaque instead of raw bigint
bennostein Oct 7, 2024
556f361
Use opaque type for subscription IDs instead of raw bigint
bennostein Oct 7, 2024
290750a
Address minor dangling code-review comments from #362
bennostein Oct 7, 2024
07bb7b8
Use AsyncParams instead of P as type variable on async calls
bennostein Oct 7, 2024
52b39cc
[skipruntime] Type cleanups and improvements (#371)
bennostein Oct 8, 2024
02166af
[skipruntime] Multiple resources call in same remote service badly in…
skiplabsdaniel Oct 8, 2024
0ac66fc
[skipruntime] Fix multiple resources call in same remote service (#378)
skiplabsdaniel Oct 8, 2024
e7728d0
[skipruntime] Fix watermark serialization
skiplabsdaniel Oct 8, 2024
47dbe34
[skipruntime] Fix watermark serialization (#379)
skiplabsdaniel Oct 8, 2024
e8f04ac
Rename NonEmptyIterator.convert to map
jberdine Oct 8, 2024
1077730
Apply discussed API renamings around resources & external sources
bennostein Oct 9, 2024
5be4bc3
Make params optional and default-empty in useExternalResource
bennostein Oct 9, 2024
756ccbd
Rename NonEmptyIterator.convert to map (#380)
jberdine Oct 9, 2024
c505d8a
s/ExternalResources/ExternalService/
bennostein Oct 9, 2024
bb4c56d
s/RemoteResources/ExternalSkipService/
bennostein Oct 9, 2024
e313326
More renamings and cleanups around external resource API (#381)
bennostein Oct 9, 2024
2d401ba
Refactor x-reactive-response header extraction logic out to util
bennostein Oct 9, 2024
35f19f7
Typo fixes
bennostein Oct 9, 2024
76836ab
s/x-reactive-response/Skip-Reactive-Response-Token/
bennostein Oct 9, 2024
e2120a2
Handle string as well as HTTP header objects in parseReactiveResponse…
bennostein Oct 9, 2024
9aaf0d9
Refactor out some shared logic for reactive-response HTTP header extr…
bennostein Oct 9, 2024
8bebe99
[stdlib] Fix error message for JSON `KeyNotFound` exception.
beauby Oct 8, 2024
ee6090c
[stdlib] Fix error message for JSON `KeyNotFound` exception. (#386)
beauby Oct 9, 2024
e21c16a
[skipruntime] Fix makefile run examples server
skiplabsdaniel Oct 9, 2024
932d9ba
[skipruntime] Fix makefile run examples server (#390)
skiplabsdaniel Oct 9, 2024
be8b624
[skc] Store sklib sources in `lib.skmeta`.
beauby Oct 7, 2024
87ad44e
[skc] Store sklib sources in `lib.skmeta`. (#383)
beauby Oct 9, 2024
d7f8a38
[skargo] Fix `build`/`check` for dependency-free packages.
beauby Oct 9, 2024
3be5c93
Update .gitignore to manage changes to skiplang directory
skiplabsdaniel Oct 9, 2024
2bdc147
Update .gitignore to manage changes to skiplang directory (#392)
skiplabsdaniel Oct 10, 2024
83d6d01
[skipruntime] Fix spelling
skiplabsdaniel Oct 10, 2024
41b3030
[skipruntime] Fix spelling (#394)
skiplabsdaniel Oct 10, 2024
84f4f01
[skipruntime] Share ReactiveResponse to header
skiplabsdaniel Oct 9, 2024
0fc6504
[skargo] Fix `build`/`check` for dependency-free packages. (#393)
beauby Oct 10, 2024
dec21a4
Fix Dockerfile after skiplang directory change
jberdine Oct 10, 2024
2bb323b
[skipruntime] Share ReactiveResponse to header (#389)
skiplabsdaniel Oct 10, 2024
64744a5
[skipruntime] Manage gracefull shutdown
skiplabsdaniel Oct 10, 2024
60ec99e
[skipruntime] Fix SkipRuntime_Runtime__subscribe return type
skiplabsdaniel Oct 10, 2024
b04e1c9
[skipruntime] Fix SkipRuntime_Runtime__subscribe return type (#398)
skiplabsdaniel Oct 10, 2024
b2b9cb9
[skipruntime] Manage gracefull shutdown (#399)
skiplabsdaniel Oct 10, 2024
02403e4
Fix Dockerfile after skiplang directory change (#396)
jberdine Oct 10, 2024
598920d
[skipruntime] Use Entry for input initial values
skiplabsdaniel Oct 9, 2024
61371f5
[skipruntime] Use Entry for input initial values (#388)
skiplabsdaniel Oct 10, 2024
95b500c
Build insight UI
gregsexton Sep 25, 2024
440d7e3
Change page title to 'Insight'
gregsexton Sep 25, 2024
af5ca8a
Insight backend
gregsexton Sep 25, 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.
107 changes: 107 additions & 0 deletions .circleci/base.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
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

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
68 changes: 68 additions & 0 deletions .circleci/generate_config.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
#!/bin/bash

# TODO: This is flaky as it relies on coarse directory-level diffs.
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 (( $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