Roya API 1.0.0
Roya RNA variant assessment service
Loading...
Searching...
No Matches
roya

Monorepo for Roya projects: API, infrastructure, transformer, and UI.

Structure

Projects:

  • api/ FastAPI backend service. See api/README.md.
  • infra/ CloudFormation/SAM templates and infra deployment workflows. See infra/README.md.
  • transformer/ Scala/Spark annotators and PySpark utilities. See transformer/README.md.
  • ui/ Vite-based UI apps and tooling. See ui/README.md.
  • cicd/ Code Pipeline configurations for staging/production deployments.

Local Development

Each project owns its own setup. Run project commands from the project directory, not from the repository root.

Quick Clinical UI start:

cd ui
pnpm install
pnpm dev:clinical

See ui/README.md for Node/pnpm setup, Clinical and Research dev server commands, environment files, and the optional local API stack.

GitHub Actions

Workflows live in .github/workflows at the repo root and are scoped with paths filters to only run for changes under their respective folders. Entrypoint deploy workflows call project-specific deployment workflows for infra, transformer, UI, and API. Composite actions live under each project folder (e.g., infra/.github/actions) while root workflows handle orchestration.

Workflow organization

Entrypoint workflows (triggered by branch/tag pushes):

  • Infra: deploy-infra-ci-branch.yaml, deploy-infra-ui-branch.yaml, deploy-infra-rna-fusion-branch.yaml
  • API: deploy-api-branch.yaml
  • UI: deploy-roya-ui-branch.yaml, deploy-roya-ui-tag.yaml
  • Transformer: deploy-transformer-branch.yaml, deploy-transformer-tag.yaml

Component deploy workflows (called by the entrypoints above):

  • Infra stacks: deploy-infra-ci.yaml, deploy-infra-ui.yaml, deploy-infra-rna-fusion.yaml
  • API stack: deploy-infra-api.yaml
  • UI app: deploy-roya-ui.yaml
  • Transformer: deploy-transformer.yaml

Manual “deploy all” workflow:

  • deploy-infra-all.yaml is kept manual-only to run all infra deploys at once.

Branch vs tag deploys

Branch workflows deploy the latest code from main to the sandbox for development/testing. Tag workflows deploy versioned builds (e.g., v1.2.3) to stable, immutable paths for releases.

Manual runs (workflow_dispatch)

Most deploy workflows include workflow_dispatch, which means you can run them manually from the GitHub Actions UI. This is useful for testing changes on demand without waiting for a push trigger, or for running the manual “deploy all” workflow when you want to deploy every infra stack at once.

Deployment

See docs/deployment