Skip to content

Commit

Permalink
Merge branch 'release/v2.0.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
denis-yuen committed Sep 14, 2022
2 parents 7ad7891 + fcf3c1f commit a07e7bd
Show file tree
Hide file tree
Showing 10 changed files with 5,300 additions and 1,902 deletions.
33 changes: 33 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# This is a basic workflow to help you get started with Actions

name: CI

# Controls when the workflow will run
on: [push]

env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
checkLinks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v1
with:
node-version: 14.x
- run: npm i -g markdown-link-check
- run: markdown-link-check ./README.md
buildPage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v1
with:
node-version: 14.x
- run: npm ci
- run: npx gh-openapi-docs
- run: bash scripts/update-ghpages.sh
15 changes: 15 additions & 0 deletions .github/workflows/validate.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
on: [push]


jobs:
test_swagger_editor_validator_remote:
runs-on: ubuntu-latest
name: Swagger Editor Validator Remote


steps:
- uses: actions/checkout@v2
- name: Validate OpenAPI definition
uses: char0n/swagger-editor-validate@v1.2.1
with:
definition-file: openapi/openapi.yaml
4 changes: 4 additions & 0 deletions .spec-docs.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"apiSpecPath": "openapi/openapi.yaml"
}

13 changes: 7 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
![ga4gh logo](https://github.com/dockstore/dockstore-ui2/raw/develop/src/assets/images/sponsors/coloured/ga4gh.png)
![ga4gh logo](https://raw.githubusercontent.com/dockstore/dockstore-ui2/2.7.4/images/high-res/ga4gh.png)

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3374001.svg)](https://doi.org/10.5281/zenodo.3374001)


Schemas for the GA4GH Tool Registry API
=======================================

This repository is the home for the schema for the GA4GH Tool Registry API. The goal of the API is to provide a standardized way to describe the availability of tools and workflows. In this way, we can have multiple repositories that share Docker-based tools and WDL/CWL/Nextflow-based workflows and have a consistent way to interact, search, and retrieve information from these various registries. The end goal is to make it much easier to share scientific tools and workflows, enhancing our ability to make research reproducible, sharable, and transparent.
This repository is the home for the schema for the GA4GH Tool Registry API. The goal of the API is to provide a standardized way to describe the availability of tools and workflows. In this way, we can have multiple repositories that share Docker-based tools and WDL/CWL/Nextflow/Galaxy/Snakemake-based workflows and have a consistent way to interact, search, and retrieve information from these various registries. The end goal is to make it much easier to share scientific tools and workflows, enhancing our ability to make research reproducible, sharable, and transparent.

**See the human-readable [Reference Documentation](https://ga4gh.github.io/tool-registry-service-schemas). You can also explore the specification in the [Swagger Editor](https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh/tool-registry-schemas/develop/openapi/ga4gh-tool-discovery.yaml).** *Manually load the JSON if working from a non-develop branch version.*
**See the human-readable [Reference Documentation](https://ga4gh.github.io/tool-registry-service-schemas). You can also explore the specification in the [Swagger Editor](https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh/tool-registry-schemas/develop/openapi/openapi.yaml).** *Manually load the JSON if working from a non-develop branch version.* Preview documentation from the [gh-openapi-docs](https://github.com/ga4gh/gh-openapi-docs) for the development branch [here](https://ga4gh.github.io/tool-registry-service-schemas/preview/develop/docs/index.html)

The [Global Alliance for Genomics and Health](http://genomicsandhealth.org/) (GA4GH) is an international
coalition, formed to enable the sharing of genomic and clinical data.
Expand All @@ -26,7 +26,7 @@ The Containers & Workflows working group is an informal, multi-vendor working gr
What is the Tool Registry API Schema?
-------------------------------------

This is the home of the schema for the GA4GH Tool Registry API. The GA4GH Tool Registry API is a standard for listing and describing available tools (both stand-alone, Docker-based tools as well as workflows in CWL, WDL or Nextflow) in a given registry. This defines a minimal, common API describing tools that we propose for support by multiple tool/workflow registries like [Dockstore](https://www.dockstore.org/), [BioContainers](https://biocontainers.pro), and [Agora](https://github.com/broadinstitute/agora) for the purposes of exchange, indexing, and searching.
This is the home of the schema for the GA4GH Tool Registry API. The GA4GH Tool Registry API is a standard for listing and describing available tools (both stand-alone, Docker-based tools as well as workflows in CWL, WDL, Nextflow, Galaxy or Snakemake) in a given registry. This defines a minimal, common API describing tools that we propose for support by multiple tool/workflow registries like [Dockstore](https://www.dockstore.org/), [BioContainers](https://biocontainers.pro), and [Agora](https://github.com/broadinstitute/agora) for the purposes of exchange, indexing, and searching.

This repo uses the [HubFlow](https://datasift.github.io/gitflow/) scheme which is closely based on [GitFlow](https://nvie.com/posts/a-successful-git-branching-model/). In practice, this means that the master branch contains the last production release of the schema whereas the develop branch contains the latest development changes which will end up in the next production release.
As of July 2019, this means that the 1.0.0 version is described on master whereas the develop branch contains the 2.0.0-beta.3 version which will evolve into the 2.0.0 production release.
Expand All @@ -36,7 +36,8 @@ Our current proposal is to start with a read-only API due to potentially differe
Key features of the current API proposal:

* read-only API
* May serve up CWL, WDL or Nextflow to describe a tool or represent a workflow depending on the tool/workflow submitter
* May serve up CWL, WDL, Nextflow, Galaxy or Snakemake to describe a tool or represent a workflow
depending on the tool/workflow submitter
* ID: globally unique across systems and also identifies the system that it came from (ex: 123456323@agora.broadinstitute.org )


Expand All @@ -50,7 +51,7 @@ Outstanding questions:
How to view
------------

See the swagger editor to view our [schema in progress](https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh/tool-registry-schemas/develop/openapi/ga4gh-tool-discovery.yaml).
See the swagger editor to view our [schema in progress](https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh/tool-registry-schemas/develop/openapi/openapi.yaml).


How to contribute changes
Expand Down
6 changes: 3 additions & 3 deletions openapi/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## Instruction for modifying the TRS

To make changes to the TRS, join the GA4GH organization or ask to join this repository as a collaborator. Then in your branch, modify:
- The swagger yaml file (`ga4gh-tool-discovery.yaml`) with a Swagger 2 definition of the changes.
- This swagger yaml file will be used in the validation server.
- An OpenAPI yaml file (`openapi.yaml`) with an OpenAPI 3 definition of the changes will be auto-generated by swagger2openapi and checked in by an automated TravisCI build
- The openapi.yaml file with an OpenAPI 3 definition of the changes.
- This openapi yaml file will be used in the TRS validation server.

The v1 directory should not be modified. It provides backward compatibility support for TRS servers/clients.
Loading

0 comments on commit a07e7bd

Please sign in to comment.