Skip to content

elixir-cloud-aai/ga4gh-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GA4GH SDK

License

Synopsis

A Generic SDK and CLI for GA4GH API services.

Basic usage

TBA

Installation

TBA

Building

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

Testing

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.

Versioning

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.

Contributing

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.

License

This project is covered by the Apache License 2.0 also shipped with this repository.

Contact

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.

logo-elixir logo-elixir-cloud-aai