forked from workflowscommunity/workflowscommunity.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
contribute_systems.html
114 lines (100 loc) · 5.47 KB
/
contribute_systems.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
---
layout: page
title: "Contribute: Workflows Systems"
permalink: /systems/contribute
---
<div class="row justify-content-center mb-5 pb-5">
<div class="col-md-7 text-center heading-section ftco-animate mb-5">
<span class="subheading">Register an actively-developed open source workflow system</span>
<h2 class="mb-4">How to Contribute with a Workflow System</h2>
<a href="/systems" class="btn btn-primary mt-3 py-3 px-5">All Systems</a>
</div>
<div class="col-md-12">
<p>
The Workflows Community Initiative (WCI) provides a curated collection of <strong>actively-developed open
source</strong> workflow systems. The main goal of this collection is to showcase workflow system
capabilities developed
by the community. We invite all workflow system developers and users to share their workflow systems through
this
collection.
</p>
<h3 class="mt-5">Adding a Workflow System Repository</h3>
<p>
To add a workflow system repository, you only need to add the organization and repository names
into an
YAML
file hosted as part of the <a href="https://github.com/workflowscommunity/workflowscommunity.github.io"
target="_blank">WCI GitHub repository</a>. The preferred way to submit your changes is via creating a
pull
request
with the changes. To this end, these are the recommended steps for adding a workflow system:
</p>
<ol>
<li><strong>Fork</strong> the WCI GitHub repository</li>
<li><strong>Clone</strong> your forked repository:
<pre class="bg-light p-3">git clone https://github.com/<your_username>/workflowscommunity.github.io</pre>
</li>
<li><strong>Edit</strong> the <code>_data/workflow_systems.yml</code> file, and add the information
regarding
the workflow system repository:
<pre class="bg-light p-3">
- organization: <github-organization>
repository: <workflow-system-repository>
type: github
metadata: <relative-path-to-wci-yml-file> <span style="color: #999"># relative path to the .wci.yml file in the repository</span></pre>
</li>
<li><strong>Commit</strong> the changes, and create a <strong>pull request</strong> for the WCI GitHub
repository.</li>
<li>The WCI team will then evaluate your pull request, and merge the changes if the workflow system
repository
and examples are properly documented.</li>
</ol>
<h3 class="mt-5">Providing a Rich Set of Information</h3>
<p>
Although the minimum requirement for publishing a workflow system is to only have an open source repository
with a
reasonable documentation, we strongly encourage workflow system developers to provide additional metadata.
</p>
<p>
WCI seeks for a <code>.wci.yml</code> file in the root folder of the workflow system repository. This file
is expected
to contain metadata that would enrich the workflow system description at WCI.
</p>
<p>
The following example summarizes the current list of available metadata keywords (all fields are optional):
</p>
<pre class="bg-light p-3">
name: <workflow_system_name> <span style="color: #999"># will use GitHub repository name if not provided</span>
icon: <url_to_workflow_system_logo> <span style="color: #999"># will use GitHub organization icon if not provided</span>
headline: <brief_description> <span style="color: #999"># will use GitHub repository description if not provided</span>
description: <long_description> <span style="color: #999"># will use GitHub repository description if not provided</span>
language: <workflow_system_language> <span style="color: #999"># will attempt to fetch GitHub repository main language if not provided</span>
release: <span style="color: #999"># will attempt to fetch latest release from GitHub repository if not provided</span>
version: <release_name>
date: <release_date> <span style="color: #999"># format: YYYY-MM-DD</span>
url: <release_url>
documentation: <span style="color: #999"># nothing will be used if not provided</span>
general: <documentation_url>
installation: <installation_url>
tutorial: <tutorial_url>
social: <span style="color: #999"># nothing will be used if not provided</span>
twitter: <twitter_name>
youtube: <youtube_channel_url>
execution_environment: <span style="color: #999"># nothing will be used if not provided</span>
interfaces: <span style="color: #999"># list of interfaces</span>
- <interface_1>
- <interface_2>
resource_managers: <span style="color: #999"># list of supported resource managers</span>
- <resource_manager_1>
- <resource_manager_2>
transfer_protocols: <span style="color: #999"># list of supported transfer protocols</span>
- <transfer_protocol_1>
- <transfer_protocol_2>
</pre>
<p>
WCI uses GitHub actions to fetch repository information and build the workflow systems' pages. Updates to
the YAML files
are currently processed at <strong>every 12 hours</strong>.
</p>
</div>
</div>