Document configuration options needed for handling large history exports:
- Celery result_expires setting to prevent task results from expiring
- Short-term storage duration settings for export file retention
- Combined configuration example for large history export scenarios
Fixes: https://github.com/galaxyproject/galaxy/issues/21701
Remove the yarn install target from packages/web_client/Makefile since
client builds now use corepack/pnpm via the root Makefile, and fix a few
leftover yarn mentions in comments and docs.
Implement full Workflow Execution Service (WES) API support for running Galaxy
workflows via the GA4GH standard. Includes complete core functionality with run
submission, status tracking, cancellation, input/output handling, and task logs.
Core WES Features:
- 6 WES API endpoints (service-info, runs CRUD, cancel, status)
- Support for both workflow_url and workflow_attachment input methods
- Support for gxworkflow:// URI scheme for direct database workflow references
- Automatic history creation with optional custom naming
- Full workflow support: gx_workflow_ga and gx_workflow_format2
- DRS URI generation for all workflow outputs
- State mapping between Galaxy invocation states and WES states
- Cursor-based pagination for run listings
Task Log Features:
- /api/jobs/{job_id}/stdout - Job stdout as plain text
- /api/jobs/{job_id}/stderr - Job stderr as plain text
- /ga4gh/wes/v1/runs/{run_id}/tasks - Paginated task list
- /ga4gh/wes/v1/runs/{run_id}/tasks/{task_id} - Task details
- Build TaskLogs from workflow invocation steps
- Populate RunLog with task_logs list and task_logs_url
Implementation Highlights:
- Auto-generated Pydantic models from GA4GH WES OpenAPI spec
- FastAPI CBV router following Galaxy API patterns
- Service layer with full workflow submission/execution pipeline
- Shared GA4GH utilities for DRS code reuse
- Reduced test duplication with helper functions
Files Added:
- lib/galaxy/schema/wes/__init__.py - Generated Pydantic models
- lib/galaxy/webapps/galaxy/api/wes.py - WES API router
- lib/galaxy/webapps/galaxy/services/wes.py - WesService
- lib/galaxy/webapps/galaxy/services/ga4gh.py - Shared GA4GH utilities
- WES_PLAN.md - Implementation plan
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Expand writing_tests.md with:
- Quick reference table and decision tree for test type selection
- Workflow framework tests section
- API test patterns: populators, decorators, fixtures, user switching
- Integration test patterns: config options, mixins, app access
- Selenium test patterns: smart components, accessibility, shared state
- When to use UI vs API methods in browser tests
Add client/README.md testing section:
- Test file structure and standard imports
- LocalVue setup and test data factories
- MSW/OpenAPI-MSW for type-safe API mocking
- Vue component testing patterns
As discussed with David Lopez, the hugging face highlight is not very discoverable as of this release. Instead though, the short-term storage expiration indicator highlight really does deserve a place in these user facing notes.