Skip to content

Commit

Permalink
Add VegaFusion server (#76)
Browse files Browse the repository at this point in the history
* Generate tonic service definitions behind feature flag
* Don't panic on task graph index out of bounds error
* Add helper to deserialize TaskGraphValuesResponse
* Add initial vegafusion-server application crate
* Fix error condition where request is cancelled in progress
* Initial support for gRPC connection from Python VegaFusionRuntime
* Comment logging messages
* catch_unwind in get_node_value just in case
* Add vegafusion-server argument parsing
* Replace websocket with gRPC-Web
* Pass MsgReceiver as second argument to send_msg_fn
* Add chart-editor app using gRPC-Web to connect to vegafusion server
* chart editor example updates
* Remove old websocket chart editor example
* Remove optional dependencies from vegafusion-wasm
* Remove hello world gRPC examples
* Launch vegafusion-server in the background during vegafusion-server test
* Add initial build-vegafusion-server CI build
  • Loading branch information
jonmmease authored Feb 24, 2022
1 parent 9feb57f commit c092726
Show file tree
Hide file tree
Showing 65 changed files with 3,034 additions and 872 deletions.
45 changes: 45 additions & 0 deletions .github/workflows/build_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,51 @@ jobs:
command: test
args: --all-features

build-vegafusion-server:
strategy:
matrix:
options: [
[ubuntu-20.04, linux-64],
[windows-2019, win-64],
[macos-10.15, osx-64],
]
runs-on: ${{ matrix.options[0] }}
steps:
- name: Check out repository code
uses: actions/checkout@v2
- name: Install latest stable Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Cache rust dependencies
uses: Swatinem/rust-cache@v1
with:
cache-on-failure: True
- name: Build vegafusion-server
uses: actions-rs/cargo@v1
with:
command: build
args: -p vegafusion-server --release
- name: zip executable (Windows)
uses: papeloto/action-zip@v1
if: runner.os == 'Windows'
with:
files: target/release/vegafusion-server.exe
dest: vegafusion-server-${{ matrix.options[1] }}.zip
- name: zip executable (Mac or Linux)
uses: papeloto/action-zip@v1
if: runner.os != 'Windows'
with:
files: target/release/vegafusion-server
dest: vegafusion-server-${{ matrix.options[1] }}.zip
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: vegafusion-server
path: |
vegafusion-server-*
build-vegafusion-python-embed:
runs-on: ${{ matrix.os }}
strategy:
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,6 @@ _vegafusion_data
/python/vegafusion-jupyter/examples/omnisci_downloads/
/python/vegafusion/dist/
/python/vegafusion/vegafusion.egg-info/
/python/vegafusion/build/
/vegafusion-wasm/examples/chart_editor/dist/
/vegafusion-wasm/examples/chart_editor/node_modules/
Loading

0 comments on commit c092726

Please sign in to comment.