Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
36 changes: 0 additions & 36 deletions .circleci/config.yml

This file was deleted.

44 changes: 44 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Machine-specific paths for script/deploy and the e2e compat harness.
# Copy to .env (gitignored) and edit. Sourced by script/deploy with `set -a`,
# so these are shell assignments — $VAR interpolation works.
#
# Only paths live here. Everything that is logic lives in script/ and e2e/,
# under version control.

# The Digital Slide Archive devops tree that defines the stack. Not vendorable:
# it is a separate project, and the live mongo + assetstore bind mounts sit
# inside it.
# git clone https://github.com/DigitalSlideArchive/digital_slide_archive
DSA_DEVOPS=/path/to/digital_slide_archive/devops

# Compose files defining the stack, colon-separated, in layering order.
# script/girder-volview.override.yml must come LAST: it re-points the
# /opt/girder_volview mount at whatever worktree is being deployed, which is the
# only change this repo needs to make to the stack. Keeping it here means the
# upstream DSA checkout stays pristine.
# `docker compose ls` shows what the live project was actually created from — if
# it lists more files, add them or compose sees a different project.
#
# $REPO is this repo's root: script/deploy sets it before sourcing this file.
# Do not use $PWD — .env is sourced without changing directory, so it would
# resolve against wherever you happened to run the command from.
DSA_COMPOSE_FILES=$DSA_DEVOPS/dsa/docker-compose.yml:$DSA_DEVOPS/with-dive-volview/docker-compose.override.yml:$REPO/e2e/seed/docker-compose.minio.yml:$REPO/script/girder-volview.override.yml

# Must match the running project name.
DSA_COMPOSE_PROJECT=dsa-plus

# Where VolView checkouts live; a bare argument to script/deploy resolves to
# $VOLVIEW_ROOT/<name>. The compat baseline's VolView sha is recorded in
# e2e/compat-baseline.json.
VOLVIEW_ROOT=/path/to/VolView

# Where sibling girder_volview worktrees live, for resolving bare branch names
# (girder_volview-<name>). Defaults to this repo's parent directory. The compat
# baseline no longer needs one — it is exported from git history.
#DSA_WORKTREE_ROOT=

GIRDER_URL=http://localhost:8080

# Only needed when the deployed backend ships girder_volview/backend/routes.py,
# which triggers radiology CLI task registration.
CLI_REPO=/path/to/volview-radiology-cli
57 changes: 57 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: CI

on:
push:
pull_request:
schedule:
# Nightly on the default branch.
- cron: "0 0 * * *"

concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true

jobs:
server:
name: Server tests (tox)
runs-on: ubuntu-latest
container: girder/tox-and-node
services:
mongo:
image: mongo:4.4
options: >-
--tmpfs /data/db
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install tox
run: pip install --no-cache-dir tox
- name: Lint (ruff)
run: tox -e lint
- uses: actions/setup-node@v4
with:
node-version: 22
- name: Install the pinned VolView package (carries the backend-contract)
# The conformance suite reads the contract from the `volview` package
# (node_modules/volview/backend-contract), never a vendored copy.
# Runs AFTER ruff so the linter never walks node_modules.
working-directory: girder_volview/web_client
run: npm ci --ignore-scripts --omit=dev
- name: Server tests
run: tox -e test -- -n auto --mongo-uri mongodb://mongo:27017

web-client:
name: Web client lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
- name: Install and lint
working-directory: girder_volview/web_client
run: |
npm ci
npm run lint
14 changes: 14 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
# The backend-contract is read from the installed `volview` package
# (node_modules/volview/backend-contract), never vendored. Ignore any local
# materialization someone points GIRDER_VOLVIEW_CONTRACT_DIR at here.
/tests/contract/

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
Expand Down Expand Up @@ -50,3 +55,12 @@ coverage.xml
.venv
venv/
ENV/

# seed-tool downloaded imaging data and MinIO bucket state (see e2e/seed/README.md)
/e2e/seed/data/
/e2e/seed/.minio-data/

# compat harness scratch: baseline checkouts recreated from git history on
# demand (see docs/compat-e2e.md). Never commit old-version sources or the
# session zips they produce — both are reproducible from a sha.
/e2e/.compat/
1 change: 1 addition & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@ include setup.py

graft girder_volview
graft docs
prune girder_volview/web_client/node_modules
prune test
global-exclude *.py[co] *.cmake __pycache__ node_modules
Loading
Loading