Skip to content

Commit 84f1337

Browse files
authored
ci: add workflows to build and test demos (#13)
1 parent 4de934a commit 84f1337

File tree

3 files changed

+80
-1
lines changed

3 files changed

+80
-1
lines changed

.github/workflows/build.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Build
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
8+
env:
9+
UV_LOCKED: true
10+
11+
jobs:
12+
build:
13+
runs-on: ubuntu-latest
14+
strategy:
15+
matrix:
16+
python-version: ["3.9", "3.10", "3.11", "3.12"]
17+
18+
steps:
19+
- uses: actions/checkout@v4
20+
21+
- name: Prepare uv and Python
22+
uses: astral-sh/setup-uv@v5
23+
with:
24+
python-version: ${{ matrix.python-version }}
25+
26+
- name: Sync environment
27+
run: |
28+
uv sync
29+
30+
- name: Build package
31+
run: |
32+
uv build
33+
34+
- name: Verify build artifacts
35+
run: |
36+
ls -la dist/

.github/workflows/demos.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Run Demos
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
8+
env:
9+
UV_LOCKED: true
10+
11+
jobs:
12+
test-demos:
13+
runs-on: ubuntu-latest
14+
strategy:
15+
matrix:
16+
demo: ["simple", "boll"]
17+
18+
steps:
19+
- uses: actions/checkout@v4
20+
21+
- name: Prepare uv and Python
22+
uses: astral-sh/setup-uv@v5
23+
24+
# TODO: use docker image with diffrent versions of RisingWave
25+
- name: Install RisingWave
26+
run: |
27+
mkdir -p /opt/risingwave
28+
cd /opt/risingwave
29+
curl -L https://risingwave.com/sh | sh
30+
echo "/opt/risingwave" >> $GITHUB_PATH
31+
32+
- name: Run demo (smoke test)
33+
run: |
34+
# Run the demo with a timeout to prevent it from running indefinitely
35+
timeout 30s uv run examples/demo.py ${{ matrix.demo }} || code=$?
36+
if [ $code -eq 124 ]; then
37+
# If the command timed out (code 124), that's expected since the demo runs continuously
38+
echo "Demo ran successfully for 30 seconds"
39+
exit 0
40+
else
41+
# Any other exit code indicates a failure
42+
echo "Demo exited with code $code"
43+
exit $code
44+
fi

examples/demo.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ def demo_simple():
8383
# Init logging
8484
logging.basicConfig(filename="risingwave_py.log", level=logging.INFO)
8585

86-
# rw = RisingWave()
8786
rw = RisingWave()
8887

8988
# Create a schema and a table for demo

0 commit comments

Comments
 (0)