Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
cbe8190
Refactor chat to ACP-native subpackage with Deep Agents provider and …
Apr 14, 2026
4a4e7ae
Remove .claude/settings.local.json from tracking
Apr 15, 2026
54f589c
Fix ruff lint errors across chat providers, state backend, and tests
Apr 15, 2026
bd1228b
Ignore .claude/settings.local.json
Apr 15, 2026
bb298c5
Fix remaining ruff lint errors
Apr 15, 2026
d7b1113
Fix SqliteWidgetStore/ConnectionRouter ABCs and guard langgraph imports
Apr 15, 2026
9e0e311
Apply ruff format to state and test files
Apr 15, 2026
cb2d03a
Fix unused variable and unsorted imports
Apr 15, 2026
28f8e23
Fix mypy errors across chat providers, state backend, and factory
Apr 15, 2026
db3955e
Fix syntax error in models.py from collapsed lines
Apr 15, 2026
8068339
Fix mypy unused-ignore for langgraph.checkpoint.sqlite import
Apr 15, 2026
12ce8c7
Add missing docs for DeepagentProvider, SQLite state backend, and aud…
Apr 15, 2026
f41f15e
Use bare type:ignore for langgraph.checkpoint.sqlite import
Apr 15, 2026
0e88500
Remove all legacy/backward language from entire codebase
Apr 15, 2026
eb6f353
Fix CallbackProvider prompt() to handle sync generators correctly
Apr 15, 2026
0c828ea
Fix CallbackProvider: check generators before coroutines
Apr 15, 2026
f078ce6
Fix deploy-mode docs: add sqlite to state backend table
Apr 15, 2026
267efc2
Address Copilot PR review: 8 issues fixed
Apr 16, 2026
3c75f12
Fix stdio.py prompt() complexity by extracting _parse_update helper
Apr 16, 2026
2e888ad
Fix mypy: use Mapping instead of dict for covariant type parameter
Apr 16, 2026
7dabcf4
Move Mapping import to TYPE_CHECKING block
Apr 16, 2026
eff8141
Add NVIDIA Deep Agent + TradingView demo with robust tool-call handling
Apr 19, 2026
e3ac030
Drive real drawing pipeline in e2e tests; fix handler fallbacks
Apr 19, 2026
685fc25
Merge origin/main into claude/goofy-diffie
Apr 19, 2026
c0e0f4a
CI: install SQLCipher system deps so pysqlcipher3 builds
Apr 19, 2026
7fc116c
Swap pysqlcipher3 → sqlcipher3-binary (Python 3.13+ support)
Apr 19, 2026
e910695
ruff format
Apr 19, 2026
6330c69
CI: build SQLCipher from source so every Python ABI is covered
Apr 19, 2026
92a8789
CI: pass --allow-unsupported to vcpkg sqlcipher install on Windows
Apr 19, 2026
39590eb
CI: pin macos-15 runners to Intel variant (macos-15-intel)
Apr 19, 2026
f1ad17d
CI: configure SQLCipher with --disable-tcl
Apr 19, 2026
1d8336f
Unlock chart after text-tool draw; skip vcpkg sqlcipher on Win ARM
Apr 19, 2026
4455393
Fix mypy errors across chat providers, state backend, and factory
Apr 19, 2026
e22494f
Stabilise test_cancel_button_triggers_callback on slow CI
Apr 19, 2026
c282242
Docs: remove stale counts, add missing extras/providers/backends
Apr 19, 2026
bdc7d79
Docs: close accuracy gaps in events and CSS reference pages
Apr 19, 2026
82f9501
README: sync repo + package files, add missing extras/providers/backends
Apr 19, 2026
f483f64
README + AGENTS: accurate TradingView description, refreshed agent guide
Apr 19, 2026
3c70847
Address remaining Copilot PR review items + fix menu_tray race
Apr 19, 2026
a22c4a7
Drop `assert` from production code; keep S101 a test-only ignore
Apr 19, 2026
7a789a5
Finish Copilot PR review 4136636313 (items #20–#30)
Apr 19, 2026
72b1c8f
CI: drop duplicate SQLCipher build from lint job
Apr 19, 2026
1960141
CI lint: install extras mypy needs (skip sqlcipher3 only)
Apr 19, 2026
2a60037
Silence pylint warnings, restore 10.00/10 rating
Apr 19, 2026
bca9c9e
Drop unused sqlcipher3/pysqlcipher3 mypy overrides
Apr 19, 2026
9f1aaaa
tvchart: add Volume Profile (Fixed Range + Visible Range)
Apr 20, 2026
074ef06
tvchart: VPVR/VPFR rewrite + 13 new indicators
Apr 20, 2026
74ceed4
tvchart VP: full settings dialog, theme-driven colours, dev POC/VA
Apr 20, 2026
30480b8
tvchart VP: legend label, visibility toggle, dot colour
Apr 20, 2026
23cf865
tvchart: declare chartId in _tvShowIndicatorSettings
Apr 20, 2026
ad53fb3
tvchart VP: live preview + volume totals in the legend
Apr 20, 2026
0935741
tvchart: readable axis text in light mode + auto-revert drawing tool
Apr 20, 2026
9175bbc
tvchart: split drawing/settings/indicators into subfolders
Apr 20, 2026
9ae7757
tvchart: legend Remove actually destroys the volume series + pane
Apr 20, 2026
3168a2d
tvchart: recompute every indicator when bars change
Apr 20, 2026
a4a115e
tvchart: tests + docs for indicator catalog, CSS vars, legend remove
Apr 20, 2026
39d45f0
ruff format
Apr 20, 2026
41275af
tvchart: drop legacy SMA/EMA indicator names, use Moving Average ever…
Apr 20, 2026
13667e1
tvchart: live preview + status-line toggles in indicator settings dialog
Apr 20, 2026
356632a
tvchart: preserve indicators + compare overlays across symbol change
Apr 20, 2026
b76ba40
tvchart: fire whenMainSeriesReady after bars load, not after series a…
Apr 20, 2026
f529428
tvchart: recompute indicators + VP when RTH session filter toggles
Apr 20, 2026
b6856e6
tvchart: session filter must refit timescale BEFORE recomputing VP
Apr 20, 2026
eed9f06
tvchart: RTH filter + scrollback + overnight session display
Apr 20, 2026
f09d431
tvchart: respect NO_DATA, drop after-hours streaming bars in RTH, deb…
Apr 20, 2026
4d855b9
tvchart: brighten dim text + bump legend font for readability
Apr 20, 2026
62b0ee2
tvchart: drop out-of-order streaming ticks instead of crashing onTick
Apr 20, 2026
b60c3c0
tvchart: stop generic settings-apply from tinting VP legend in gold
Apr 21, 2026
371c400
tvchart: wire every ChartOptionsImpl property + persist _chartPrefs a…
Apr 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 110 additions & 4 deletions .github/workflows/publish-pywry.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,19 @@ jobs:
contents: read
strategy:
fail-fast: true
# ``deepagents`` in ``.[dev]`` requires Python >=3.11 (3.10 is
# blocked upstream); ``sqlcipher3`` is built from source
# against the SQLCipher C library installed in the ``Build
# SQLCipher`` step, so 3.14 works too.
matrix:
include:
- os: ubuntu-24.04
python-version: '3.10'
python-version: '3.11'
- os: ubuntu-24.04
python-version: '3.14'
- os: windows-2025
python-version: '3.12'
- os: macos-15
- os: macos-15-intel
python-version: '3.12'

steps:
Expand All @@ -67,7 +71,61 @@ jobs:
if: runner.os == 'Linux'
run: |
for i in 1 2 3; do sudo apt-get update && break || sleep 15; done
for i in 1 2 3; do sudo apt-get install -y --fix-missing xvfb dbus-x11 at-spi2-core libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 libxcb-shape0 libgl1 libegl1 libwebkit2gtk-4.1-dev libgtk-3-dev && break || { sleep 30; sudo apt-get update; }; done
for i in 1 2 3; do sudo apt-get install -y --fix-missing xvfb dbus-x11 at-spi2-core libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 libxcb-shape0 libgl1 libegl1 libwebkit2gtk-4.1-dev libgtk-3-dev build-essential libssl-dev && break || { sleep 30; sudo apt-get update; }; done

- name: Build SQLCipher from source (Linux)
if: runner.os == 'Linux'
shell: bash
run: |
# ``--disable-tcl`` skips the Tcl extension; the Python
# ``sqlcipher3`` binding doesn't need it, and modern Tcl
# bottles break its compile on macOS.
git clone --depth=1 --branch=v4.6.1 https://github.com/sqlcipher/sqlcipher.git /tmp/sqlcipher
cd /tmp/sqlcipher
./configure \
--disable-tcl \
--enable-tempstore=yes \
CFLAGS="-DSQLITE_HAS_CODEC -DSQLCIPHER_CRYPTO_OPENSSL" \
LDFLAGS="-lcrypto"
make -j$(nproc) libsqlcipher.la || make -j$(nproc)
sudo make install-libLTLIBRARIES install-includeHEADERS || sudo make install
sudo ldconfig

- name: Build SQLCipher from source (macOS)
if: runner.os == 'macOS'
shell: bash
run: |
# No ``tcl-tk`` install — Homebrew ships Tcl 9.0, whose
# headers break SQLCipher's Tcl-8-era ``tclsqlite.c``.
# ``--disable-tcl`` is the fix.
brew install openssl@3
OPENSSL_PREFIX="$(brew --prefix openssl@3)"
git clone --depth=1 --branch=v4.6.1 https://github.com/sqlcipher/sqlcipher.git /tmp/sqlcipher
cd /tmp/sqlcipher
./configure \
--disable-tcl \
--enable-tempstore=yes \
CFLAGS="-DSQLITE_HAS_CODEC -DSQLCIPHER_CRYPTO_OPENSSL -I$OPENSSL_PREFIX/include" \
LDFLAGS="-L$OPENSSL_PREFIX/lib -lcrypto"
make -j$(sysctl -n hw.logicalcpu) libsqlcipher.la || make -j$(sysctl -n hw.logicalcpu)
sudo make install-libLTLIBRARIES install-includeHEADERS || sudo make install
echo "LDFLAGS=-L/usr/local/lib -L$OPENSSL_PREFIX/lib -lsqlcipher -lcrypto" >> $GITHUB_ENV
echo "CPPFLAGS=-I/usr/local/include -I/usr/local/include/sqlcipher -I$OPENSSL_PREFIX/include" >> $GITHUB_ENV

- name: Install SQLCipher via vcpkg (Windows x64)
if: runner.os == 'Windows' && runner.arch != 'ARM64'
shell: pwsh
run: |
# arm64-windows skipped: tcl (transitive port dep) doesn't
# build there under vcpkg; ``SqliteStateBackend`` handles
# missing ``sqlcipher3`` by falling back to plain SQLite.
$env:VCPKG_ROOT = "$env:VCPKG_INSTALLATION_ROOT"
& "$env:VCPKG_ROOT\vcpkg" install "sqlcipher:x64-windows"
$sqlcipherDir = "$env:VCPKG_ROOT\installed\x64-windows"
echo "SQLCIPHER_PATH=$sqlcipherDir" >> $env:GITHUB_ENV
echo "INCLUDE=$sqlcipherDir\include;$sqlcipherDir\include\sqlcipher;$env:INCLUDE" >> $env:GITHUB_ENV
echo "LIB=$sqlcipherDir\lib;$env:LIB" >> $env:GITHUB_ENV
echo "PATH=$sqlcipherDir\bin;$env:PATH" >> $env:GITHUB_ENV

- name: Install dependencies
run: |
Expand Down Expand Up @@ -548,7 +606,55 @@ jobs:
if: runner.os == 'Linux'
run: |
for i in 1 2 3; do sudo apt-get update && break || sleep 15; done
for i in 1 2 3; do sudo apt-get install -y --fix-missing xvfb dbus-x11 at-spi2-core libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 libxcb-shape0 libgl1 libegl1 libwebkit2gtk-4.1-dev libgtk-3-dev && break || { sleep 30; sudo apt-get update; }; done
for i in 1 2 3; do sudo apt-get install -y --fix-missing xvfb dbus-x11 at-spi2-core libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 libxcb-shape0 libgl1 libegl1 libwebkit2gtk-4.1-dev libgtk-3-dev build-essential libssl-dev && break || { sleep 30; sudo apt-get update; }; done

- name: Build SQLCipher from source (Linux)
if: runner.os == 'Linux'
shell: bash
run: |
git clone --depth=1 --branch=v4.6.1 https://github.com/sqlcipher/sqlcipher.git /tmp/sqlcipher
cd /tmp/sqlcipher
./configure \
--disable-tcl \
--enable-tempstore=yes \
CFLAGS="-DSQLITE_HAS_CODEC -DSQLCIPHER_CRYPTO_OPENSSL" \
LDFLAGS="-lcrypto"
make -j$(nproc) libsqlcipher.la || make -j$(nproc)
sudo make install-libLTLIBRARIES install-includeHEADERS || sudo make install
sudo ldconfig

- name: Build SQLCipher from source (macOS)
if: runner.os == 'macOS'
shell: bash
run: |
brew install openssl@3
OPENSSL_PREFIX="$(brew --prefix openssl@3)"
git clone --depth=1 --branch=v4.6.1 https://github.com/sqlcipher/sqlcipher.git /tmp/sqlcipher
cd /tmp/sqlcipher
./configure \
--disable-tcl \
--enable-tempstore=yes \
CFLAGS="-DSQLITE_HAS_CODEC -DSQLCIPHER_CRYPTO_OPENSSL -I$OPENSSL_PREFIX/include" \
LDFLAGS="-L$OPENSSL_PREFIX/lib -lcrypto"
make -j$(sysctl -n hw.logicalcpu) libsqlcipher.la || make -j$(sysctl -n hw.logicalcpu)
sudo make install-libLTLIBRARIES install-includeHEADERS || sudo make install
echo "LDFLAGS=-L/usr/local/lib -L$OPENSSL_PREFIX/lib -lsqlcipher -lcrypto" >> $GITHUB_ENV
echo "CPPFLAGS=-I/usr/local/include -I/usr/local/include/sqlcipher -I$OPENSSL_PREFIX/include" >> $GITHUB_ENV

- name: Install SQLCipher via vcpkg (Windows x64)
if: runner.os == 'Windows' && runner.arch != 'ARM64'
shell: pwsh
run: |
# arm64-windows skipped: tcl (transitive port dep) doesn't
# build there under vcpkg; ``SqliteStateBackend`` handles
# missing ``sqlcipher3`` by falling back to plain SQLite.
$env:VCPKG_ROOT = "$env:VCPKG_INSTALLATION_ROOT"
& "$env:VCPKG_ROOT\vcpkg" install "sqlcipher:x64-windows"
$sqlcipherDir = "$env:VCPKG_ROOT\installed\x64-windows"
echo "SQLCIPHER_PATH=$sqlcipherDir" >> $env:GITHUB_ENV
echo "INCLUDE=$sqlcipherDir\include;$sqlcipherDir\include\sqlcipher;$env:INCLUDE" >> $env:GITHUB_ENV
echo "LIB=$sqlcipherDir\lib;$env:LIB" >> $env:GITHUB_ENV
echo "PATH=$sqlcipherDir\bin;$env:PATH" >> $env:GITHUB_ENV

- name: Cache vcpkg packages (Windows ARM)
if: runner.os == 'Windows' && runner.arch == 'ARM64'
Expand Down
137 changes: 121 additions & 16 deletions .github/workflows/test-pywry.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"
pip install -e ".[notebook,auth,mcp,acp,deepagent,openai,anthropic,magentic]"
pip install ruff mypy pylint pytauri-wheel plotly pandas cryptography

- name: Run Ruff linter
run: ruff check pywry/ tests/
Expand All @@ -65,19 +66,24 @@ jobs:
contents: read
strategy:
fail-fast: false
# ``deepagents`` (pulled in by ``.[dev]`` → ``features``) hard-
# requires Python >=3.11 — 3.10 can't resolve the dev extra.
# ``sqlcipher3`` is a source build against the SQLCipher C
# library installed in the ``Build SQLCipher`` step below, so
# any Python ABI works (no binary-wheel coverage gaps).
matrix:
include:
- os: ubuntu-24.04
python-version: '3.10'
python-version: '3.11'
- os: ubuntu-24.04
python-version: '3.14'
- os: windows-2025
python-version: '3.10'
python-version: '3.11'
- os: windows-2025
python-version: '3.14'
- os: macos-15
python-version: '3.10'
- os: macos-15
- os: macos-15-intel
python-version: '3.11'
- os: macos-15-intel
python-version: '3.14'
- os: ubuntu-24.04-arm
python-version: '3.11'
Expand All @@ -88,7 +94,7 @@ jobs:
- os: windows-11-arm
python-version: '3.14'
- os: macos-latest
python-version: '3.10'
python-version: '3.11'
- os: macos-latest
python-version: '3.14'

Expand Down Expand Up @@ -117,7 +123,77 @@ jobs:
if: runner.os == 'Linux'
run: |
for i in 1 2 3; do sudo apt-get update && break || sleep 15; done
for i in 1 2 3; do sudo apt-get install -y --fix-missing xvfb dbus-x11 at-spi2-core libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 libxcb-shape0 libgl1 libegl1 libwebkit2gtk-4.1-dev libgtk-3-dev && break || { sleep 30; sudo apt-get update; }; done
for i in 1 2 3; do sudo apt-get install -y --fix-missing xvfb dbus-x11 at-spi2-core libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 libxcb-shape0 libgl1 libegl1 libwebkit2gtk-4.1-dev libgtk-3-dev build-essential libssl-dev && break || { sleep 30; sudo apt-get update; }; done

- name: Build SQLCipher from source (Linux)
if: runner.os == 'Linux'
shell: bash
run: |
# Build from the upstream source (https://github.com/sqlcipher/sqlcipher)
# so the ``sqlcipher3`` Python package's setup.py links
# against a known-good library on every Python ABI —
# binary wheels stop at Python 3.13. ``--disable-tcl``
# skips the Tcl extension (not needed by the Python
# binding, and modern Tcl bottles break its compile).
git clone --depth=1 --branch=v4.6.1 https://github.com/sqlcipher/sqlcipher.git /tmp/sqlcipher
cd /tmp/sqlcipher
./configure \
--disable-tcl \
--enable-tempstore=yes \
CFLAGS="-DSQLITE_HAS_CODEC -DSQLCIPHER_CRYPTO_OPENSSL" \
LDFLAGS="-lcrypto"
make -j$(nproc) libsqlcipher.la || make -j$(nproc)
sudo make install-libLTLIBRARIES install-includeHEADERS || sudo make install
sudo ldconfig

- name: Build SQLCipher from source (macOS)
if: runner.os == 'macOS'
shell: bash
run: |
# Intentionally NOT installing ``tcl-tk`` from Homebrew:
# the current bottle is Tcl 9.0, whose headers drop the
# ``CONST`` macro and ``TCL_CHANNEL_VERSION_2``, so
# SQLCipher's ``tclsqlite.c`` (still Tcl-8 API) fails to
# compile. SQLCipher's configure auto-disables the Tcl
# extension when no ``tclConfig.sh`` is on the usual
# search paths — we only need the C library anyway; the
# ``sqlcipher3`` Python binding doesn't touch Tcl.
brew install openssl@3
OPENSSL_PREFIX="$(brew --prefix openssl@3)"
git clone --depth=1 --branch=v4.6.1 https://github.com/sqlcipher/sqlcipher.git /tmp/sqlcipher
cd /tmp/sqlcipher
./configure \
--disable-tcl \
--enable-tempstore=yes \
CFLAGS="-DSQLITE_HAS_CODEC -DSQLCIPHER_CRYPTO_OPENSSL -I$OPENSSL_PREFIX/include" \
LDFLAGS="-L$OPENSSL_PREFIX/lib -lcrypto"
# Build only the library target — the default ``make`` tries
# to build the ``sqlcipher`` shell which links against Tcl.
make -j$(sysctl -n hw.logicalcpu) libsqlcipher.la || make -j$(sysctl -n hw.logicalcpu)
sudo make install-libLTLIBRARIES install-includeHEADERS || sudo make install
echo "LDFLAGS=-L/usr/local/lib -L$OPENSSL_PREFIX/lib -lsqlcipher -lcrypto" >> $GITHUB_ENV
echo "CPPFLAGS=-I/usr/local/include -I/usr/local/include/sqlcipher -I$OPENSSL_PREFIX/include" >> $GITHUB_ENV

- name: Install SQLCipher via vcpkg (Windows x64)
if: runner.os == 'Windows' && runner.arch != 'ARM64'
shell: pwsh
run: |
# vcpkg builds SQLCipher from source using the same upstream
# repo (https://github.com/sqlcipher/sqlcipher), just
# packaged as an MSVC-friendly port so we don't have to wire
# nmake + OpenSSL manually. ``SQLCIPHER_PATH`` points
# ``sqlcipher3``'s setup.py at the install root. Skipped on
# arm64-windows: the transitive ``tcl`` port doesn't build
# there even with ``--allow-unsupported``, and the
# ``SqliteStateBackend`` handles the missing binding by
# falling back to plain SQLite.
$env:VCPKG_ROOT = "$env:VCPKG_INSTALLATION_ROOT"
& "$env:VCPKG_ROOT\vcpkg" install "sqlcipher:x64-windows"
$sqlcipherDir = "$env:VCPKG_ROOT\installed\x64-windows"
echo "SQLCIPHER_PATH=$sqlcipherDir" >> $env:GITHUB_ENV
echo "INCLUDE=$sqlcipherDir\include;$sqlcipherDir\include\sqlcipher;$env:INCLUDE" >> $env:GITHUB_ENV
echo "LIB=$sqlcipherDir\lib;$env:LIB" >> $env:GITHUB_ENV
echo "PATH=$sqlcipherDir\bin;$env:PATH" >> $env:GITHUB_ENV

- name: Cache vcpkg packages (Windows ARM)
if: runner.os == 'Windows' && runner.arch == 'ARM64'
Expand Down Expand Up @@ -170,16 +246,45 @@ jobs:
if: runner.os == 'Linux'
run: docker version

- name: Setup Docker (macOS Intel)
id: docker-macos
if: runner.os == 'macOS' && runner.arch == 'X64'
uses: docker/setup-docker-action@v4

- name: Verify Docker (macOS Intel)
- name: Configure Docker (macOS Intel)
if: runner.os == 'macOS' && runner.arch == 'X64'
shell: bash
run: |
echo "DOCKER_HOST=$DOCKER_HOST"
docker version
# ``docker/setup-docker-action@v4`` doesn't reliably bring up
# a Docker daemon on ``macos-15-intel`` runners — testcontainers
# then fails with ``FileNotFoundError: /var/run/docker.sock``
# during the Redis fixture setup. Mirror the resilient
# Docker-Desktop → Colima fallback used in publish-pywry.yml.
set -euo pipefail

if docker info >/dev/null 2>&1; then
echo "Docker daemon already available"
else
if [ -d "/Applications/Docker.app" ]; then
echo "Starting Docker Desktop"
open -a Docker
for _ in {1..30}; do
if docker info >/dev/null 2>&1; then
break
fi
sleep 5
done
fi
fi

if ! docker info >/dev/null 2>&1; then
echo "Falling back to Colima"
brew install docker colima
colima start --runtime docker --arch x86_64 --cpu 2 --memory 4 --disk 20
fi

if [ -S "$HOME/.colima/default/docker.sock" ]; then
sudo mkdir -p /var/run
sudo ln -sf "$HOME/.colima/default/docker.sock" /var/run/docker.sock
fi

echo "DOCKER_HOST=unix:///var/run/docker.sock" >> "$GITHUB_ENV"
docker info

- name: Run tests (Linux)
if: runner.os == 'Linux'
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -208,3 +208,4 @@ marimo/_lsp/
__marimo__/

docs/site/*
.claude/settings.local.json
Loading
Loading