Skip to content

Allow llvm16 #736

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

Draft
wants to merge 4,032 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
4032 commits
Select commit Hold shift + click to select a range
2e71506
[skipruntime/addon] Fix binding of SkipRuntime_createIdentifier
skiplabsdaniel Jan 14, 2025
44f463e
[skipruntime/addon] Fix binding of SkipRuntime_createIdentifier (#638)
skiplabsdaniel Jan 14, 2025
c275425
[skipruntime/addon] Manage cc formating
skiplabsdaniel Jan 14, 2025
cac24b3
[skipruntime/addon] Manage cc formating (#639)
skiplabsdaniel Jan 14, 2025
c8a2f13
Revise fetchJSON to add timeout parameter
jberdine Jan 13, 2025
5f7ce6f
Revise fetchJSON to add timeout parameter (#636)
jberdine Jan 14, 2025
104f943
[skipruntime/addon] Fix error management
skiplabsdaniel Jan 14, 2025
d17f5c5
[skipruntime/addon] Fix error management (#641)
skiplabsdaniel Jan 14, 2025
7e12d3e
Allow Environment.fetch to return ArrayBuffer
mbouaziz Nov 27, 2024
d1b6df1
Use fs/promises
mbouaziz Nov 27, 2024
9717dac
forEach instead of map when the result is not kept
mbouaziz Nov 27, 2024
f47a4bf
LazyDir: constructor can be called later
mbouaziz Feb 20, 2024
4562517
Context: remove unused pwd
mbouaziz Nov 26, 2024
6ffcbbb
Runtime: resource definition can be created later
mbouaziz Nov 26, 2024
a94b905
Random minor cleanups (#560)
mbouaziz Jan 15, 2025
ff8ca47
Add HACKING.md
jberdine Jan 15, 2025
4a3b728
Add HACKING.md (#645)
jberdine Jan 15, 2025
874c083
Fix examples url
jberdine Jan 15, 2025
a901b01
Fix examples url (#647)
jberdine Jan 15, 2025
4e62e0c
fix userid type capitalization
spro Jan 16, 2025
b9d1eb2
Fix userID type capitalization in getting started docs (#649)
mbouaziz Jan 16, 2025
123f18d
[skip/ts] Bump package versions.
beauby Jan 16, 2025
8279d69
[skip/ts] Bump package versions. (#652)
beauby Jan 16, 2025
519a12b
[skip/ts] Bump (all) package versions.
beauby Jan 16, 2025
da8d7bf
[skip/ts] Bump (all) package versions. (#653)
beauby Jan 16, 2025
fb06dac
[examples/hackernews] Update example.
beauby Jan 16, 2025
340d843
[examples/hackernews] Update example. (#654)
beauby Jan 16, 2025
9e1b379
Commit js lock files
jberdine Jan 15, 2025
913d502
Commit js lock files (#643)
jberdine Jan 16, 2025
1b5e481
Minor var rename in hackernews example
jberdine Jan 16, 2025
a31e078
Minor var rename in hackernews example (#655)
jberdine Jan 16, 2025
c20c219
Add visibility attributes to ObjectHandle fields
mbouaziz Jan 16, 2025
5909744
getFieldAt as a method of ObjectHandle
mbouaziz Jan 16, 2025
04ddc06
Get rid of ObjectHandle#derive
mbouaziz Jan 16, 2025
06d51dd
Simplify interpretPointer and importJSON
mbouaziz Jan 16, 2025
fe761de
Move toJSON to ObjectHandle
mbouaziz Jan 16, 2025
a27fd2e
Move toString to ObjectHandle
mbouaziz Jan 16, 2025
b0e2817
Make console.log use toString
mbouaziz Jan 17, 2025
1f816ab
Move keys to ObjectHandle
mbouaziz Jan 16, 2025
a3c081b
Move get to ObjectHandle
mbouaziz Jan 16, 2025
52f3124
Move getOwnPropertyDescriptor to ObjectHandle
mbouaziz Jan 16, 2025
e5516d6
Move has to ObjectHandle
mbouaziz Jan 16, 2025
63cf9d4
Make getFieldAt and objectFields private
mbouaziz Jan 17, 2025
bee301e
Make console.log on ObjectHandle transparent (#658)
mbouaziz Jan 17, 2025
b0db8c4
[skipruntime] Manage ExternalService instance id.
skiplabsdaniel Jan 17, 2025
72bb0b7
[skipruntime] Manage ExternalService instance id. (#660)
skiplabsdaniel Jan 17, 2025
24392f5
Ensure all resources closed at right time
skiplabsdaniel Jan 17, 2025
80a4149
Fix non streaming call leak
skiplabsdaniel Jan 17, 2025
fd42b01
Fix non streaming call leak (#659)
skiplabsdaniel Jan 17, 2025
b983b94
Fix passing limit in hn example
jberdine Jan 20, 2025
3e83f37
Fix passing limit in hn example (#666)
jberdine Jan 20, 2025
3dc7946
Switch to exact versions in package.json
jberdine Jan 20, 2025
85567db
Switch to exact versions in package.json (#667)
jberdine Jan 20, 2025
3ec6e56
Fix writing into the collection, get rid of unused variable and imports
andrey-passnfly Jan 20, 2025
2d934e5
Fix writing into the collection, get rid of unused variable and impor…
beauby Jan 21, 2025
c4da829
Remove api docs for PUT
jberdine Jan 20, 2025
2bb406f
Rename SkipServiceBroker patch to update
jberdine Jan 20, 2025
ca2fe3e
Remove SkipServiceBroker.put
jberdine Jan 20, 2025
1b5ce2e
Cleanup left over references to PUT api (#665)
jberdine Jan 21, 2025
3ca4b44
Do not swallow error responses in hn example
jberdine Jan 21, 2025
9771263
Do not swallow error responses in hn example (#670)
jberdine Jan 21, 2025
175fd32
Fix md syntax
jberdine Jan 21, 2025
516f3dc
Fix md syntax (#672)
jberdine Jan 21, 2025
45b793b
Exclude SKDB from skipruntime-ts `build` make target
bennostein Jan 21, 2025
a8b305e
Switch from explicit package list to `jq` incantation
bennostein Jan 21, 2025
06aca2e
Exclude SKDB from skipruntime-ts `build` make target (#671)
bennostein Jan 21, 2025
2a1c8c7
Exclude examples from skipruntime-ts build jobs
bennostein Jan 21, 2025
73be141
Exclude examples from skipruntime-ts build jobs (#674)
bennostein Jan 21, 2025
8ae1c9b
[skipruntime] Explicit choice of the used runtime (wasm | addon)
skiplabsdaniel Jan 20, 2025
b449ebd
Merge @skipruntime/api into @skipruntime/core
skiplabsdaniel Jan 20, 2025
fb5f226
[skiprutime] Reverse dependency between wasm/addon and test
skiplabsdaniel Jan 20, 2025
13c67a1
Update docs
skiplabsdaniel Jan 20, 2025
a2eff2b
Update circleci
skiplabsdaniel Jan 20, 2025
9b8f851
Rename @skipruntime/addon in @skipruntime/native
skiplabsdaniel Jan 20, 2025
1568464
[skipruntime] Update native build process.
skiplabsdaniel Jan 21, 2025
445a3a2
To not break the hackernews example
skiplabsdaniel Jan 21, 2025
0a210a3
[skipruntime] Reduce the number of packages. (#668)
skiplabsdaniel Jan 21, 2025
51ad61d
Skipruntime does not depend on skdb anymore
mbouaziz Jan 20, 2025
842c4ad
SKJson was not covered by CI
mbouaziz Jan 20, 2025
b3da724
Skjson was not covered by the CI (#676)
mbouaziz Jan 22, 2025
83c97d3
Update vite
mbouaziz Jan 22, 2025
a2bcb40
Add vite version constraint (#678)
mbouaziz Jan 22, 2025
22fb309
Tweak error message for ReadInCreatorException
bennostein Jan 17, 2025
0f84263
[skipruntime-ts] Add PostgresExternalService
bennostein Jan 17, 2025
2a43a52
Clean up ESLint warnings
bennostein Jan 17, 2025
c831de3
Add unit testing logic and CircleCI config for Postgres integration
bennostein Jan 17, 2025
50964e3
Delegate postgres docker setup to CircleCI config
bennostein Jan 17, 2025
6a89b52
Update to explicitly-managed ExternalService instance IDs
bennostein Jan 20, 2025
6534726
Export PostgresExternalService from helpers module
bennostein Jan 20, 2025
8d08f7a
Move Postgres adapter to separate NPM package and namespace
bennostein Jan 22, 2025
22ff023
Build postgres adapter before tests in CI
bennostein Jan 21, 2025
dcba47b
Update postgres adapter after rebasing over packaging changes
bennostein Jan 22, 2025
f9fc0f9
Manage Postgres client lifecycles separately for wasm/native tests
bennostein Jan 22, 2025
b6a0f59
Add publish make target for Postgres adapter
bennostein Jan 22, 2025
9caca1f
[skipruntime-ts] Postgres external service (#662)
bennostein Jan 22, 2025
ff2d309
Complete CRUD for posts, fix create_post
AndreyGritsa Jan 21, 2025
b22f37d
make fmt
AndreyGritsa Jan 21, 2025
e019e63
Clear reason and status code response
AndreyGritsa Jan 22, 2025
f7ba894
Complete CRUD for posts, fix create_post (#673)
jberdine Jan 22, 2025
faa720c
[skipruntime/core] Fix dependency
skiplabsdaniel Jan 22, 2025
2b2b265
[skipruntime/core] Fix dependency (#682)
skiplabsdaniel Jan 22, 2025
aa3189f
Update .dockerignore
mbouaziz Jan 17, 2025
4e55534
Make shellcheck happy
mbouaziz Feb 13, 2024
1e2ba8d
Merge build_prod_skdb_images.sh into build_docker_images.sh
mbouaziz Jan 17, 2025
49f9150
One release_docker to rule them all
mbouaziz Jan 17, 2025
3bc01e3
Split docker skdb-base
mbouaziz Jan 22, 2025
eeade4d
Split skip-base further
mbouaziz Jan 22, 2025
7a01408
skiplang and skip docker images (#675)
mbouaziz Jan 22, 2025
4738172
Update skipruntime-ts NPM versions
bennostein Jan 22, 2025
365376c
Update skipruntime-ts NPM versions (#681)
bennostein Jan 22, 2025
ac28dc0
Add support for SERIAL/BIGSERIAL primary keys in PG adapter
bennostein Jan 23, 2025
5e19543
Increment @skip-adapter/postgres package version
bennostein Jan 23, 2025
e8e4484
Add support for SERIAL/BIGSERIAL keys in PG adapter (#684)
bennostein Jan 23, 2025
2798c5a
Autoformat python code
jberdine Jan 22, 2025
f27e5f8
Autoformat python code (#680)
mbouaziz Jan 23, 2025
78122ce
Use smaller docker images for most CI jobs
mbouaziz Jan 24, 2025
2f87149
Fix runtime path for triggering CI
mbouaziz Jan 24, 2025
0aab35b
Use smaller docker images for CI jobs (#689)
mbouaziz Jan 27, 2025
680d6bd
Fix sequencing of test pg client setup
bennostein Jan 24, 2025
1c0feca
Avoid double-teardown of functions on resource unsubscribe/shutdown
bennostein Jan 24, 2025
f91762d
Fix postgres setup/teardown sequencing (#690)
bennostein Jan 27, 2025
ada67a3
Document pg adapter
jberdine Jan 22, 2025
e7e39a9
Document pg adapter (#683)
jberdine Jan 27, 2025
bf5f0fd
Fix broken doc links to put and patch
jberdine Jan 24, 2025
640b207
Fix broken doc links to put and patch (#688)
jberdine Jan 27, 2025
f4d4e1e
Hush python formatter
jberdine Jan 27, 2025
2b6270f
Hush python formatter (#692)
jberdine Jan 28, 2025
f4b21b7
Update HN example to new package structure
bennostein Jan 24, 2025
d433545
Update service initialization in HN example
bennostein Jan 24, 2025
d78ce5a
Drop mirrored writes from hn example web service
bennostein Jan 24, 2025
e98cfbd
Update HN reactive service to use Postgres adapter
bennostein Jan 24, 2025
36354df
Handle author data populated asynchronously from postgres
bennostein Jan 24, 2025
81eb246
Update HN example with new packages (#691)
bennostein Jan 28, 2025
a92f097
[www/docs] Update run instructions for getting-started example
bennostein Jan 28, 2025
79e536c
Remove out-of-date skipruntime-ts/README.md
bennostein Jan 28, 2025
9b03be3
[www/docs] Update run instructions for getting-started example (#693)
bennostein Jan 29, 2025
9c9468e
Update SkipExternalService to new HTTP API
bennostein Jan 29, 2025
51afa75
Update SkipExternalService to new HTTP API (#695)
bennostein Jan 29, 2025
0fcb0d9
Generalize param encoding of Polled
jberdine Jan 29, 2025
1a5e81c
Generalize param encoding of Polled (#696)
jberdine Jan 29, 2025
f836512
Automatically dispatch to wasm/native initService in runService
bennostein Jan 28, 2025
2489cfa
[www/docs] Update usages of initService/runService
bennostein Jan 28, 2025
04166a5
Add "platform" option to `runService` allowing clients to specify a c…
bennostein Jan 29, 2025
83469e7
Avoid explicit `initService` in user code by dynamic dispatch in `run…
bennostein Jan 29, 2025
33a13de
Respect timeout option passed to fetchJSON
bennostein Jan 28, 2025
09b8a7c
Simplify examples setup and apply minor fixes throughout
bennostein Jan 29, 2025
b8b7e3d
Add scripts to run each of the skipruntime-ts/examples
bennostein Jan 29, 2025
301ef46
Tweak sleep timings for running examples in CI
bennostein Jan 29, 2025
8446e52
Add expectation-testing make target for testing examples
bennostein Jan 29, 2025
4be2f48
Wire example testing into CI
bennostein Jan 29, 2025
ffde424
Add brief documentation READMEs for examples and tests thereof
bennostein Jan 29, 2025
2bc0916
Add make target to regenerate example test expectations
bennostein Jan 29, 2025
c123e8a
Output raw data instead of parsed JSON in expectation tests
bennostein Jan 29, 2025
bf7b75c
Default to WASM platform in runService if unspecified
bennostein Jan 29, 2025
4e976fa
Test examples in CI; refactor/cleanup examples to get everything up t…
bennostein Jan 29, 2025
6db97e9
Minor build cleanups
jberdine Jan 29, 2025
c205889
Minor build cleanups (#701)
jberdine Jan 30, 2025
71e382d
Minor revision/expansion of deploying docs
jberdine Jan 30, 2025
fee8c01
Minor revision/expansion of deploying docs (#704)
jberdine Jan 30, 2025
2aded74
Print diff output for better detail in CI logs
bennostein Jan 30, 2025
3b15404
Print diff output for better detail in CI logs (#706)
bennostein Jan 30, 2025
f42add9
Add a section of the docs listing community creations
jberdine Jan 30, 2025
a50bd2f
Add a section of the docs listing community creations (#705)
jberdine Jan 30, 2025
7a6c4dc
Add detail to postgres setup failure error message
bennostein Jan 30, 2025
222a7ae
Re-throw caught async errors in postgres adapter
bennostein Jan 31, 2025
865a698
Add detail to postgres adapter error messages (#708)
bennostein Jan 31, 2025
aca2b9f
Add custom SkipError (and children) to avoid generic Error
bennostein Jan 31, 2025
99a1b7d
Migrate Error to more precise/descriptive custom SkipError
bennostein Jan 31, 2025
6ccce31
Add best-effort check to CI that new code doesn't `throw new Error(...)`
bennostein Jan 31, 2025
c4c7b80
More precise/descriptive SkipError exceptions (#711)
bennostein Jan 31, 2025
9100a28
Add @skipruntime/skip meta-package depending on all other skip packages
bennostein Jan 31, 2025
e0d6af9
Move @skipruntime/wasm from optional to mandatory dependencies
bennostein Jan 31, 2025
c23ca22
Add publish-metapackage Make target
bennostein Jan 31, 2025
98cef7e
Allow publishing packages without `build` step (i.e. metapackage)
bennostein Jan 31, 2025
51eab1a
Add @skipruntime/skip meta-package (#709)
bennostein Jan 31, 2025
e534622
Tweak postgres unsubscribe flow to avoid printing spurious error
bennostein Jan 31, 2025
41b1458
Tweak postgres unsubscribe flow to avoid printing spurious error (#710)
bennostein Jan 31, 2025
83aa6ea
Include error types in public api
jberdine Jan 31, 2025
9cfc672
Include error types in public api (#714)
jberdine Jan 31, 2025
43edf88
Add brief description of package structure to getting started docs
jberdine Jan 31, 2025
22b42e8
Add brief description of package structure to getting started docs (#…
jberdine Feb 3, 2025
8fcfda8
Simplify script
mbouaziz Jan 24, 2025
a12e5be
Parameterize LLVM_VERSION
mbouaziz Jan 27, 2025
63a7601
Parameterize PRIORITY
mbouaziz Jan 29, 2025
77c7ccf
Split script as done in Dockerfile
mbouaziz Jan 29, 2025
faa6150
Generalize apt-install
mbouaziz Jan 29, 2025
d7aed73
Use apt-install in Dockerfile
mbouaziz Jan 29, 2025
1859c23
Add shellcheck to docker image skip
mbouaziz Jan 22, 2025
95f92ea
Mention apt-install.sh in the doc
mbouaziz Jan 31, 2025
a2f7f63
Clean up step skipruntime-deps
mbouaziz Jan 31, 2025
2e43524
Install alternatives as slaves of clang
mbouaziz Jan 31, 2025
87df7c1
Clean up step skiplang-build-deps
mbouaziz Jan 31, 2025
a34bac5
Use apt-install.sh in Dockerfile (#698)
mbouaziz Feb 3, 2025
bb56221
Add check-ts make target
mbouaziz Jan 22, 2025
fa9a45e
Make shellcheck happy
mbouaziz Jan 23, 2025
1328309
Rename CI job check-format to fast-checks
mbouaziz Jan 22, 2025
2c0a909
Check shell scripts in the CI
mbouaziz Jan 23, 2025
7686631
Check shell scripts in the CI (#685)
mbouaziz Feb 3, 2025
46bb7b6
Make heading capitalization more uniform
jberdine Feb 3, 2025
9fdbda0
Add package-level description to @skip-adapter/postgres api docs
jberdine Feb 3, 2025
9eb8376
Tweak api docs font sizes
jberdine Feb 3, 2025
8a6dcc2
Disable ligatures in monospace font
jberdine Feb 3, 2025
53b2b19
Minor pass over api docs for Error classes
jberdine Feb 3, 2025
bd25427
Document SkipPostgresError
jberdine Feb 3, 2025
861a670
Round of minor api docs improvements (#717)
jberdine Feb 4, 2025
b05bd5e
Leftover docs changes from api to core rename
jberdine Jan 27, 2025
0081774
Remove commented things items by main site
jberdine Jan 27, 2025
0174175
Replace old url
jberdine Jan 27, 2025
406b7b5
Leftover docs changes from api to core rename
jberdine Jan 27, 2025
da55a29
Minor API docs tidying (#720)
jberdine Feb 4, 2025
2446dde
Remove 'auto' option for skip runtime platform
bennostein Feb 3, 2025
49832f1
Remove now-unused SkipPlatformError
bennostein Feb 3, 2025
3ad474b
Remove 'auto' option for skip runtime platform (#718)
bennostein Feb 4, 2025
6222845
Add error handling around CollectionWriter methods
bennostein Feb 3, 2025
154a19d
Add error handling around CollectionWriter FFI (#719)
bennostein Feb 4, 2025
31a5f10
[skipruntime/external] Add timeout / header option to Polled
skiplabsdaniel Feb 4, 2025
307a6af
[skipruntime/external] Add timeout / header option to Polled (#721)
bennostein Feb 4, 2025
d043cbc
Prevent created eager sub graph into lazy graph.
skiplabsdaniel Feb 4, 2025
9f48ab5
[skipruntime] Specific error for useExternalResource
skiplabsdaniel Feb 4, 2025
9a6a3a0
Add missing errors regarding the creation of eager compute graph in …
skiplabsdaniel Feb 5, 2025
198438c
Fix TakeIterator#sizeHint
mbouaziz Feb 5, 2025
817407d
Fix TakeIterator#sizeHint (#728)
mbouaziz Feb 5, 2025
f887dd3
[skipruntime] Add some tests on exception handling.
skiplabsdaniel Feb 4, 2025
2953123
[skipruntime] Add some tests on exception handling. (#726)
skiplabsdaniel Feb 5, 2025
c19390f
Keep Postgres timestamp and timestamptz values as strings
bennostein Feb 5, 2025
6df8859
Cover timestamps and non-lowercase columns in postgres adapter test
bennostein Feb 5, 2025
fb8a4e4
Handle postgres time-stamp types (#730)
bennostein Feb 5, 2025
baa0547
[skiprutime] Fix issue #633
skiplabsdaniel Feb 5, 2025
4fe8b1b
[skiprutime] Fix issue #633 (#729)
skiplabsdaniel Feb 5, 2025
11f2538
Fix Makefile typo OPT->OTP
bennostein Feb 4, 2025
c04fc1d
Add NPM package READMEs
bennostein Feb 4, 2025
59ff552
NPM Package READMEs (#722)
bennostein Feb 5, 2025
80bf200
Add hubspot tracking to docs site
jberdine Feb 5, 2025
8b6438e
Add hubspot tracking to docs site (#731)
jberdine Feb 5, 2025
da2c3f9
Bump all core package versions (@skiplang/*, @skip-wasm/*)
bennostein Feb 4, 2025
32e4217
Bump Skip runtime packages, skipping some versions to synchronize at …
bennostein Feb 4, 2025
fb877f8
Update package-lock.json
bennostein Feb 4, 2025
3540d0b
Bump skdb wasm test timeout
bennostein Feb 5, 2025
c4ed64a
Update NPM package versions (#723)
bennostein Feb 5, 2025
508b255
[examples/hackernews] Explicit `Dockerfile`s for `db` and `load_balan…
beauby Feb 6, 2025
57fe3da
[examples/hackernews] Fix `runService()` call following #668.
beauby Feb 6, 2025
e7b9319
[ci] Add hackernews example to CI.
beauby Jan 30, 2025
14c04d5
[ci] Add hackernews example to CI. (#703)
beauby Feb 6, 2025
931970b
Flexible arrays should be defined with []
mbouaziz Jan 29, 2025
a613905
Allow more versions of LLVM
mbouaziz Jan 29, 2025
d408c75
Update doc
mbouaziz Jan 29, 2025
5c8da59
llvm.lifetime.start/end first arg must be a constant
mbouaziz Jan 31, 2025
00fe84f
Do not specify intrinsic functions attributes
mbouaziz Jan 31, 2025
e794da9
Update bootstrap
mbouaziz Jan 29, 2025
28cb9ca
DO NOT MERGE switch to LLVM 16, use new images, force CI
mbouaziz Feb 7, 2025
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.
147 changes: 147 additions & 0 deletions .circleci/base.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
version: 2.1

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

jobs:
fast-checks:
docker:
- image: skiplabs/skip:llvm16
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to tag docker images by llvm version?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we don't plan on officially supporting and/or using more than one version, probably not.
Here it was just for testing

steps:
- checkout
- run:
name: Check code is formatted
command: |
make check-fmt
- run:
name: Check shell scripts
command: |
make check-sh

check-ts:
docker:
- image: skiplabs/skip:llvm16
steps:
- checkout
- setup
- run:
name: Typecheck and lint typescript sources
command: SKIPRUNTIME=$(pwd)/build/skipruntime npm install && npm run build && npm run lint

compiler:
docker:
- image: skiplabs/skiplang:llvm16
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/skiplang:llvm16
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:llvm16
steps:
- checkout
- setup
- run:
name: Run native skdb tests
command: |
make test-native

skdb-wasm:
docker:
- image: skiplabs/skdb-base:llvm16
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/skiplang:llvm16
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:
docker:
- image: skiplabs/skip:llvm16
- image: cimg/postgres:17.0
environment:
PGHOST: localhost
PGDATABASE: postgres
PGPORT: 5432
PGUSER: postgres
PGPASSWORD: secret
steps:
- checkout
- setup
- run:
name: Run wasm skip runtime tests
no_output_timeout: 10m
command: |
mkdir -p ~/test-results
make test-skipruntime-ts
- store_test_results:
path: ~/test-results/skipruntime.xml

check-hackernews-example:
docker:
- image: cimg/base:2025.01
steps:
- checkout
- setup
- setup_remote_docker
- run:
name: Build docker images
working_directory: ~/project/examples/hackernews
command: docker compose build
- run:
name: Start services
working_directory: ~/project/examples/hackernews
command: docker compose up --wait
- run:
name: Test back end health
command: (docker run --network hackernews_default -it cimg/base:2025.01 curl --silent --max-time 0.1 --insecure --location https://haproxy/api/posts || true) | grep --quiet "data:"
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
105 changes: 105 additions & 0 deletions .circleci/generate_config.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
#!/bin/bash

# TODO: This is flaky as it relies on coarse directory-level diffs.

BASE="$(git merge-base main HEAD)"

# shellcheck disable=SC2046 # We actually want splitting in jq command output
git diff --quiet HEAD "$BASE" -- $(jq --raw-output ".workspaces[]" package.json)
check_ts=1
git diff --quiet HEAD "$BASE" -- skiplang/compiler/ skiplang/prelude/ :^skiplang/prelude/ts
skc=1
git diff --quiet HEAD "$BASE" -- skiplang/prelude/src/skstore/ skiplang/prelude/runtime/
skstore=1
git diff --quiet HEAD "$BASE" -- skiplang/skjson
skjson=1
git diff --quiet HEAD "$BASE" -- sql/ skiplang/sqlparser/ skiplang/skbuild/
skdb=1
git diff --quiet HEAD "$BASE" -- skipruntime-ts/
skipruntime=1
git diff --quiet HEAD "$BASE" -- skiplang/prelude/ts/
ts_prelude=1
git diff --quiet HEAD "$BASE" -- examples/hackernews/
hackernews_example=1

cat .circleci/base.yml

echo "workflows:"

cat <<EOF
fast-checks:
jobs:
- fast-checks
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 (( skjson != 0 ))
then
cat <<EOF
skjson:
jobs:
- skjson
EOF
fi

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

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

if (( skstore != 0 || skipruntime != 0 || ts_prelude != 0 || skjson != 0 ))
then
cat <<EOF
skipruntime:
jobs:
- skipruntime
EOF
fi

if (( hackernews_example != 0))
then
cat <<EOF
hackernews-example:
jobs:
- check-hackernews-example
EOF
fi
Loading