A Generic SDK and CLI for GA4GH API services.
TBA
TBA
Developer note: If you want to update any of the OpenAPI specifications supported by this tool or extend it to support any other OpenAPI-backed services (e.g., not currently supported GA4GH API-based services or your own services), please refer to our documentation for auto-generating OpenAPI models.
To build the project:
cargo build
There are 2 types of Tests: Unit tests and integration tests.
To run the unit tests, which are being tested with mock servers, you can simply run
cargo test
To test the integration tests: Before running the integration tests, you need to install Funnel, a task execution system that is compatible with the GA4GH TES API. Follow the instructions in the Funnel Developer's Guide to install Funnel: https://ohsu-comp-bio.github.io/funnel/docs/development/developers/. Note that the link may change over time, so refer to the official Funnel repository or website for the most up-to-date information.
Once you have installed Funnel, you can run the tests. This will automatically run Funnel as well:
bash ./run-tests.sh
or, you can run using:
cargo nextest run
For checking the unit coverage, you can run:
cargo llvm-cov nextest
To test the CI/CD workflow locally, install act
and run the following command:
act -j build --container-architecture linux/amd64 -P ubuntu-latest=ubuntu:24.04 --reuse
# Note: The specified Ubuntu version (24.04) may change in the future.
# Please check for the latest version when running this command.
The project adopts the semver scheme for versioning. Currently the software is in a pre-release stage, so changes to the API, including breaking changes, may occur at any time without further notice.
This project is a community effort and lives off your contributions, be it in the form of bug reports, feature requests, discussions, ideas, fixes, or other code changes. Please read [these guidelines][docs-contributing] if you want to contribute. And please mind the [code of conduct][docs-coc] for all interactions with the community.
This project is covered by the Apache License 2.0 also shipped with this repository.
The project is maintained by ELIXIR Cloud & AAI, a Driver Project of the Global Alliance for Genomics and Health (GA4GH), under the umbrella of the ELIXIR Compute Platform.
To get in touch with us, please use one of the following routes:
- For filing bug reports, feature requests or other code-related issues, please make use of the project's [issue tracker][issue-tracker].
- For private/personal issues, more involved communication, or if you would like to join our team as a regular contributor, you can either join our chat board or email the community leaders.