Skip to content

Commit 89d9e73

Browse files
Major Update: Replace Docker with virtual environments and update versions (#117)
* DH version to 0.33.3 Java version to 17 * Updated the ib api version to 10.19.04 * Streamline and simplify the IB artifact building. * Added a script to build deephaven-ib virtual environments. * Made IB wheel building fail on errors. * Updated to server-ui deephaven images. * Debug CI * Debug CI * Debug CI * Debug CI * Removed the server-ui change since it requires 0.34 * Made the versions easier to update. * Remove legacy docker * Updated documentation. * Updated documentation. * Made ib version handling robust. Fixed release build. * Removed all docker requirements. Replaced IB docker build with local functionality in the script. * Release the hard version constraint on deephaven. * Updated the minimum python version to avoid core dump in jpy. deephaven/deephaven-core#5440 * Fix broken dependency version handling. * Fix broken short rate downloads. * Fix DH queries that are broken. Better error messages. * Fix DH examples. Add a script to start and run deephaven. * Add an option to create a venv for use in pycharm. * Upgrade to Deephaven 0.34.1 * Addressing the review. * Addressing the review. * Support using existing venv or giving a venv a custom name. * Support using system python instead of just venvs. * Fix actions to build IB wheels * Fix actions to build IB wheels * Fix actions to build IB wheels * Fix actions to build IB wheels * Fix actions to build IB wheels * Fix actions to build IB wheels * Fix actions to build IB wheels * Fix actions to build IB wheels * Fix actions to build IB wheels * Fix venv-less install. * Improved readme. * Improved readme. * Improved readme. * Improved readme. * Build both the ib wheel and dhib wheel * Updated the readme to use the `deephaven` command * Update README.md Co-authored-by: Alex Peters <[email protected]> * Trying to fix sphinx build * Trying to fix sphinx build * Trying to fix sphinx build * Trying to fix sphinx build * Trying to fix sphinx build --------- Co-authored-by: Alex Peters <[email protected]>
1 parent f55a70a commit 89d9e73

24 files changed

+882
-350
lines changed

.github/workflows/Dockerfile.pip

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
FROM ubuntu:22.04
33

44
RUN apt update && \
5-
apt install -y openjdk-11-jdk python3-pip python3-venv curl zip && \
5+
apt install -y openjdk-17-jdk python3-pip python3-venv curl zip && \
66
pip3 install --upgrade pip setuptools wheel
77

8-
ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/
8+
ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/
99

1010
COPY ./wheels /wheels
1111
COPY ./ib-wheels /ib-wheels

.github/workflows/Dockerfile.server

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
ARG DH_VERSION
22

3-
FROM ghcr.io/deephaven/server:${DH_VERSION}
3+
FROM ghcr.io/deephaven/server-ui:${DH_VERSION}
44

55
RUN apt update && \
66
apt install -y python3-pip python3-venv curl zip && \

.github/workflows/build-and-publish.yml

Lines changed: 20 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -12,41 +12,34 @@ on:
1212
- released
1313

1414
env:
15-
IB_VERSION: 10.19.01
16-
DH_VERSION: 0.28.1
15+
IB_VERSION: 10.19.04
16+
DH_VERSION: 0.34.1
1717

1818
jobs:
1919
build-ib-whl:
2020
name: Build IB WHL
21-
runs-on: ubuntu-20.04
21+
runs-on: ubuntu-22.04
2222
steps:
23-
- name: Setup Python
24-
uses: actions/setup-python@v1
25-
with:
26-
python-version: 3.7
27-
- name: Install dependencies
28-
run: |
29-
python -m pip install --upgrade pip
30-
python -m pip install --upgrade setuptools wheel build twine
23+
- name: Checkout
24+
uses: actions/checkout@v1
3125
- name: Build
3226
run: |
33-
IB_VERSION_DOWNLOAD=$(echo ${IB_VERSION} | sed 's/[.]//')
34-
echo "Downloading IB API version ${IB_VERSION_DOWNLOAD}"
35-
curl -o ./api.zip "https://interactivebrokers.github.io/downloads/twsapi_macunix.${IB_VERSION_DOWNLOAD}.zip"
36-
unzip api.zip
37-
cd ./IBJts/source/pythonclient
38-
python -m build
27+
python3 --version
28+
python3 -m pip install --upgrade pip
29+
python3 -m pip install -r requirements_dhib_env.txt
30+
python3 dhib_env.py ib-wheel --ib_version ${{ env.IB_VERSION }}
31+
find . -name \*.whl
3932
- name: Archive build artifacts
4033
uses: actions/upload-artifact@v2
4134
with:
4235
name: ib-wheels
4336
path: |
44-
./IBJts/source/pythonclient/dist/*
37+
dist/ib/*
4538
4639
4740
build-whl:
4841
name: Build WHL
49-
runs-on: ubuntu-20.04
42+
runs-on: ubuntu-22.04
5043
steps:
5144
- uses: actions/checkout@master
5245
- name: Setup Python
@@ -88,7 +81,7 @@ jobs:
8881
8982
publish-whl:
9083
name: Publish WHL
91-
runs-on: ubuntu-20.04
84+
runs-on: ubuntu-22.04
9285
needs: [build-whl]
9386
if: ${{ github.event_name == 'release' && github.event.action == 'released' }}
9487
steps:
@@ -107,16 +100,16 @@ jobs:
107100

108101
build-sphinx:
109102
name: Build Sphinx
110-
runs-on: ubuntu-20.04
103+
runs-on: ubuntu-22.04
111104
needs: [build-ib-whl, build-whl]
112105
steps:
113106
- uses: actions/checkout@v1
114107
- name: Apt installs
115108
run: |
116109
sudo apt update
117-
sudo apt install -y openjdk-11-jdk
110+
sudo apt install -y openjdk-17-jdk
118111
- name: Pip installs
119-
run: pip3 install --upgrade sphinx==4.2.0 sphinx-autodoc-typehints furo==2021.10.9
112+
run: pip3 install --upgrade sphinx~=7.3.0 sphinx-autodoc-typehints furo==2024.5.6
120113
- name: Download IB wheels
121114
uses: actions/download-artifact@v3
122115
with:
@@ -132,7 +125,7 @@ jobs:
132125
- name: Run Sphinx
133126
working-directory: ./sphinx
134127
env:
135-
JAVA_HOME: /usr/lib/jvm/java-11-openjdk-amd64
128+
JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64
136129
run: |
137130
make html
138131
touch build/html/.nojekyll
@@ -152,7 +145,7 @@ jobs:
152145

153146
publish-sphinx:
154147
name: Publish Sphinx
155-
runs-on: ubuntu-20.04
148+
runs-on: ubuntu-22.04
156149
needs: [build-sphinx]
157150
if: ${{ github.event_name == 'release' && github.event.action == 'released' }}
158151
steps:
@@ -178,7 +171,7 @@ jobs:
178171

179172
docker-pip:
180173
name: Build and Publish Docker (pip-installed Deephaven)
181-
runs-on: ubuntu-20.04
174+
runs-on: ubuntu-22.04
182175
needs: [build-ib-whl, build-whl]
183176
permissions:
184177
contents: read
@@ -236,7 +229,7 @@ jobs:
236229

237230
docker-dhserver:
238231
name: Build and Publish Docker (Deephaven server image)
239-
runs-on: ubuntu-20.04
232+
runs-on: ubuntu-22.04
240233
needs: [build-ib-whl, build-whl]
241234
permissions:
242235
contents: read

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
.idea
22
venv
3+
venv-*
4+
build
35
dist
46
src/deephaven_ib.egg-info
57
docker/data

README.md

Lines changed: 143 additions & 130 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)