Skip to content

Commit

Permalink
finos blueprints
Browse files Browse the repository at this point in the history
  • Loading branch information
stephengoldbaum committed Jul 27, 2020
1 parent 5d23101 commit 68e46af
Show file tree
Hide file tree
Showing 54 changed files with 898 additions and 7 deletions.
3 changes: 3 additions & 0 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Code of Conduct for {project name}

Please see the [Community Code of Conduct](https://www.finos.org/code-of-conduct).
53 changes: 53 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Contributing to {project name}

## Contributor License Agreement (CLA)
A CLA is a document that specifies how a project is allowed to use your
contribution; they are commonly used in many open source projects.

**_All_ contributions to _all_ projects hosted by [FINOS](https://www.finos.org/)
must be made with a
[Foundation CLA](https://finosfoundation.atlassian.net/wiki/spaces/FINOS/pages/83034172/Contribute)
in place, and there are [additional legal requirements](https://finosfoundation.atlassian.net/wiki/spaces/FINOS/pages/75530375/Legal+Requirements)
that must also be met.**

Commits and pull requests to FINOS repositories such as {project name} will only be accepted from those contributors with an active, executed Individual Contributor License Agreement (ICLA) with FINOS OR who are covered under an existing and active Corporate Contribution License Agreement (CCLA) executed with FINOS. Commits from individuals not covered under an ICLA or CCLA will be flagged and blocked by the FINOS ["CLA Bot" tool](https://github.com/finos/cla-bot). Please note that some CCLAs require individuals/employees to be explicitly named on the CCLA.

As a result, PRs submitted to the {project name} project cannot be accepted until you have a CLA in place with the Foundation.

Need an ICLA? Unsure if you are covered under an existing CCLA? Email [help@finos.org](mailto:help@finos.org?subject=CLA)

## Contributing Issues

### Prerequisites

* [ ] Have you [searched for duplicates](https://github.com/finos/{project name}/issues?utf8=%E2%9C%93&q=)? A simple search for exception error messages or a summary of the unexpected behaviour should suffice.
* [ ] Are you running the latest version?
* [ ] Are you sure this is a bug or missing capability?

### Raising an Issue
* Create your issue [here](https://github.com/finos/{project name}/issues/new).
* New issues contain two templates in the description: bug report and enhancement request. Please pick the most appropriate for your issue, **then delete the other**.
* Please also tag the new issue with either "Bug" or "Enhancement".
* Please use [Markdown formatting](https://help.github.com/categories/writing-on-github/)
liberally to assist in readability.
* [Code fences](https://help.github.com/articles/creating-and-highlighting-code-blocks/) for exception stack traces and log entries, for example, massively improve readability.

## Contributing Pull Requests (Code & Docs)
To make review of PRs easier, please:

* Please make sure your PRs will merge cleanly - PRs that don't are unlikely to be accepted.
* For code contributions, follow the existing code layout.
* For documentation contributions, follow the general structure, language, and tone of the [existing docs](https://github.com/finos/{project name}/wiki).
* Keep commits small and cohesive - if you have multiple contributions, please submit them as independent commits (and ideally as independent PRs too).
* Reference issue #s if your PR has anything to do with an issue (even if it doesn't address it).
* Minimise non-functional changes (e.g. whitespace).
* Ensure all new files include a header comment block containing the [Apache License v2.0 and your copyright information](http://www.apache.org/licenses/LICENSE-2.0#apply).
* If necessary (e.g. due to 3rd party dependency licensing requirements), update the [NOTICE file](https://github.com/finos/{project name}/blob/master/NOTICE) with any new attribution or other notices


### Commit and PR Messages

* **Reference issues, wiki pages, and pull requests liberally!**
* Use the present tense ("Add feature" not "Added feature")
* Use the imperative mood ("Move button left..." not "Moves button left...")
* Limit the first line to 72 characters or less
24 changes: 24 additions & 0 deletions .github/ISSUE_TEMPLATE/Bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: 🐛 Bug Report
about: If something isn't working as expected 🤔.

---

## Bug Report

### Steps to Reproduce:
1. ...step 1 description...
2. ...step 2 description...
3. ...step 3 description...

### Expected Result:
...description of what you expected to see...

### Actual Result:
...what actually happened, including full exceptions (please include the entire stack trace, including "caused by" entries), log entries, screen shots etc. where appropriate...

### Environment:
...version and build of the project, OS and runtime versions, virtualised environment (if any), etc. ...

### Additional Context:
...add any other context about the problem here. If applicable, add screenshots to help explain...
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/Feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: 🚀 Feature Request
about: I have a suggestion (and may want to implement it 🙂)!

---

## Feature Request

### Description of Problem:
...what *problem* are you trying to solve that the project doesn't currently solve?

...please resist the temptation to describe your request in terms of a solution. Job Story form ("When [triggering condition], I want to [motivation/goal], so I can [outcome].") can help ensure you're expressing a problem statement.

### Potential Solutions:
...clearly and concisely describe what you want to happen. Add any considered drawbacks.

... if you've considered alternatives, clearly and concisely describe those too.
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/Support_question.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
name: 🤗 Support Question
about: If you have a question about configuration, usage, etc. 💬

---

## Support Question

...ask your question here.

...be sure to search existing issues since someone might have already asked something similar.
75 changes: 75 additions & 0 deletions .github/workflows/docusaurus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: Docusaurus-website-build

# Only trigger on:
# - master branch
# - PR or Pull Request event types
# - Docusaurus files: this file, docs/** and website/**
on:
push:
branches:
- master
paths:
- '.github/workflows/docusaurus.yml'
- 'docs/**'
- 'website/**'
pull_request:
paths:
- '.github/workflows/docusaurus.yml'
- 'docs/**'
- 'website/**'

env:
# Used by docusaurus publish-site command and comment-on-pr action
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
REPO_NAME: ${{ github.event.repository.name }}
PATCH_SCRIPT_URL: https://raw.githubusercontent.com/finos/open-developer-platform/master/scripts/patch-docusaurus-config.sh
CONTRIBUTE_SCRIPT_URL: https://raw.githubusercontent.com/finos/open-developer-platform/master/scripts/build-contribute-page.sh

jobs:
website-build:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v1
- name: Install Node
uses: actions/setup-node@v1
- name: Install Website deps
run: npm install --prefix website
- name: Patch forked version
run: |
# Extract GitHub org/user and patch siteConfig.js only if not "finos"
REPO="${{ github.repository }}"
REPO_ORG=${REPO%"/"*}
if [ "$REPO_ORG" != "finos" ]
then echo "Repo organization is '$REPO_ORG', patching docusaurus configuration to work on a forked repo" ; curl ${{ env.PATCH_SCRIPT_URL }} | bash -s -- ${{ env.REPO_NAME }} $REPO_ORG
else echo "Skipping patching, as this is the FINOS Organization"
fi
- name: Build Website
run: |
curl ${{ env.CONTRIBUTE_SCRIPT_URL }} | bash -s
npm run build --prefix website
- name: Publish Website
run: |
# Extract GitHub org/user
REPO="${{ github.repository }}"
GIT_USERNAME=${REPO%/*}
# Set git user to finos-admin, if it's a push to a finos repo
if [ "$GIT_USERNAME" == "finos" ] && [ "${{github.event_name }}" == "push" ]
then GIT_USERNAME="finos-admin"
elif [ "$GIT_USERNAME" == "finos" ] && [ "${{github.event_name }}" == "pull_request" ]
then echo "Skipping publish, as this is a PR, not a Push event" ; exit 0
fi
# Configure git client
echo "Publishing website for repo '${REPO}', using GitHub username '${GIT_USERNAME}' as author. Triggered by '${{github.event_name }}' event"
git config --global user.email "$GIT_USERNAME@users.noreply.github.com"
git config --global user.name "$GIT_USERNAME"
echo "machine github.com login $GIT_USERNAME password $GITHUB_TOKEN" > ~/.netrc
# Run docusaurus-publish
GIT_USER="finos-admin" npm run publish-gh-pages --prefix website
- name: Create comment
if: github.event_name == 'pull_request' && !contains(github.repository, 'finos/')
uses: peter-evans/create-or-update-comment@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.number }}
body: Website [preview is available](https://${{ github.actor }}.github.io/${{ env.REPO_NAME }})
7 changes: 3 additions & 4 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
Expand Down Expand Up @@ -179,15 +178,15 @@
APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [2019] [Morgan Stanley]
Copyright {yyyy} {name of copyright owner}

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand All @@ -199,4 +198,4 @@
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
limitations under the License.
7 changes: 7 additions & 0 deletions LICENSE.spdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
SPDXVersion: SPDX-2.0
DataLicense: CC0-1.0
Creator: {name of copyright owner}
PackageName: {project name}
PackageOriginator: {name of copyright owner}
PackageHomePage: https://github.com/finos/{project name}
PackageLicenseDeclared: Apache-2.0
9 changes: 6 additions & 3 deletions NOTICE
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
Morphir
Copyright 2020 Morgan Stanley.
This product includes software developed at Morgan Stanley.
{project name} - FINOS
Copyright {yyyy} - {current_year} {name of copyright owner} {email of copyright holder}

This product includes software developed at the Fintech Open Source Foundation (https://www.finos.org/).

{Other notices, as necessary}
8 changes: 8 additions & 0 deletions docs/home.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
id: home
title: {project name} docs
---

## Getting started

....
6 changes: 6 additions & 0 deletions docs/roadmap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: roadmap
title: {project name} Roadmap
---

....
6 changes: 6 additions & 0 deletions docs/team.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: team
title: {project name} Team
---

....
12 changes: 12 additions & 0 deletions docs/tutorials/quick_start.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Morphir Quick Start
## Install
The first step to using Morphir is installing. For this example we'll use the Elm front end for our modeling and generator into the JSON representation of the Morphir IR. So the first step is to install the Morphir Elm tooling. Take a look at the [Installation Instructions](https://github.com/Morgan-Stanley/morphir-elm) for getting setup.

## Create a project
Let's create a new project.

```
mkdir scratch
cd scratch
```

Loading

0 comments on commit 68e46af

Please sign in to comment.