feat: extend PDL types with json schema types #689
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tauri CLI Tests | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
# cancel any prior runs for this workflow and this PR (or branch) | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
cli: | |
name: Test pdl CLI using Tauri | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: ./pdl-live-react | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
- name: Install dependencies | |
# sleep 2 to wait for ollama to be running... hack warning | |
run: | | |
npm ci & sudo apt update && \ | |
sudo apt install -y libgtk-3-dev libwebkit2gtk-4.1-dev librsvg2-dev patchelf at-spi2-core && \ | |
(curl -fsSL https://ollama.com/install.sh | sudo -E sh && sleep 2) | |
wait | |
- name: Test production build # Skip testing appimage, is this dangerous? It's slow... | |
run: | | |
npm run tauri build -- --ci --bundles deb | |
- name: Install production build | |
run: | | |
ls ./src-tauri/target/release/bundle/deb && sudo apt install -y ./src-tauri/target/release/bundle/deb/*.deb | |
- name: Setup xvfb for screen 0 | |
run: | | |
Xvfb :1 -screen 0 1600x1200x24 & | |
- name: Test 'pdl run' against production build | |
env: | |
DISPLAY: :1 | |
run: | | |
# 1a. `run` subcommand errors due to missing required positional parameter | |
pdl run && (echo "This should have failed" && exit 1) || (echo "Great, expected failure received" && exit 0) | |
# 1b.`run` subcommand works without any arguments to print Usage | |
pdl run 2>&1 | grep Usage | |
# 1c.`run` subcommand works with -h to print Usage | |
pdl run -h 2>&1 | grep Usage | |
# 2. `run` subcommand works with UI demos (yaml source) | |
pdl run ./demos/demo1.pdl | grep 'write a hello' | |
# 3. `run` subcommand works with UI demos (json source) | |
# demo4 depends on user input | |
# demo5,demo6 each depend on an external file, and the interpreter does not currently capture this in the trace | |
# demo8 currently requires building a model which the interpreter does not directly support | |
# demo9 takes forever, so... for now skip it | |
#for i in ./src/demos/*.json | |
#do if [[ $(basename $i) != "demo4.json" ]] && [[ $(basename $i) != "demo5.json" ]] && [[ $(basename $i) != "demo6.json" ]] && [[ $(basename $i) != "demo8.json" ]] && [[ $(basename $i) != "demo9.json" ]]; then pdl run $i; fi | |
#done | |
- name: Tear down xvfb | |
run: killall Xvfb || true |