Skip to content

Commit 48a68f6

Browse files
symphony-eliassymphony-mariacristinasymphony-yourifinos-admin
authored
2.0b6 release (#224)
* PLAT-11113 Upgrade urllib3 dependency (#211) Upgrading library dependency to fix the following vulnerability https://app.snyk.io/vuln/SNYK-PYTHON-URLLIB3-1085966 * PLAT-1114 Upgrade aiohttp dependency (#212) Upgrading library dependency to fix the following vulnerability https://app.snyk.io/vuln/SNYK-PYTHON-AIOHTTP-1079232 * Integrate safety and liccheck to build (#215) To check for CVEs and licenses. * Updated LICENSE NOTICE and README.md to comply with FINOS guidelines (#214) * Updated CONTRIBUTING.md as per FINOS guidelines (#217) * adding CNAME for website publishing * Renamed 2.0 to main branch in GH actions (#219) * Updated documentation GH action * Updated project files and documentation following move to FINOS (#223) * Updated links in documentation following move to finos * Updated pyproject.toml file following move to finos * Added roadmap in README file * Deleted jenkins folder used to release legacy versions * Bumped version to 2.0b6 Co-authored-by: Mariacristina De Dominicis <65179248+symphony-mariacristina@users.noreply.github.com> Co-authored-by: Youri Bonnaffe <youri.bonnaffe@symphony.com> Co-authored-by: FINOS Administrator <37706051+finos-admin@users.noreply.github.com>
1 parent 003d00d commit 48a68f6

21 files changed

+669
-273
lines changed

.github/workflows/build.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ name: build
22

33
on:
44
push:
5-
branches: [ "2.0", "2.0-rc" ]
5+
branches: [ "main", "2.0-rc" ]
66
pull_request:
7-
branches: [ "2.0", "2.0-rc" ]
7+
branches: [ "main", "2.0-rc" ]
88

99
jobs:
1010
build:

.github/workflows/push.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
name: On 2.0 push
1+
name: On main push
22

33
on:
44
push:
5-
branches: [ "2.0" ]
5+
branches: [ "main" ]
66

77
jobs:
88
security:
@@ -30,10 +30,10 @@ jobs:
3030
with:
3131
python-version: 3.8
3232

33-
- name: Copy 2.0 branch into gh-pages
33+
- name: Copy main branch into gh-pages
3434
run: |
3535
git checkout gh-pages
36-
git reset --hard 2.0
36+
git reset --hard main
3737
3838
- name: Get pip cache dir
3939
id: pip-cache

.github/workflows/pylint.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ name: pylint
22

33
on:
44
push:
5-
branches: [ "2.0" ]
5+
branches: [ "main" ]
66
pull_request:
7-
branches: [ "2.0" ]
7+
branches: [ "main" ]
88

99
jobs:
1010
build:
@@ -43,7 +43,7 @@ jobs:
4343
workflow_conclusion: success
4444
name: .pylint.d
4545
path: /home/runner/.pylint.d
46-
branch: "2.0"
46+
branch: "main"
4747

4848
- name: Run Pylint
4949
run: pylint symphony tests

.github/workflows/security.yml

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: security-checks
2+
3+
on:
4+
push:
5+
branches: [ "main", "2.0-rc" ]
6+
pull_request:
7+
branches: [ "main", "2.0-rc" ]
8+
9+
jobs:
10+
build:
11+
name: security-checks
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- name: Checkout Code
16+
uses: actions/checkout@v2
17+
18+
- name: Set up Python 3.8
19+
id: setup-python
20+
uses: actions/setup-python@v2
21+
with:
22+
python-version: 3.8
23+
24+
- name: Get pip cache dir
25+
id: pip-cache
26+
run: |
27+
echo "::set-output name=dir::$(pip cache dir)"
28+
29+
- name: Cache pip dependencies
30+
uses: actions/cache@v2
31+
with:
32+
path: ${{ steps.pip-cache.outputs.dir }}
33+
key: ${{ runner.os }}-pip-${{ steps.setup-python.outputs.python-version }}
34+
35+
- name: Install Poetry
36+
run: pip install poetry
37+
38+
- name: Cache poetry
39+
uses: actions/cache@v2
40+
with:
41+
path: ~/.cache/pypoetry/virtualenvs
42+
key: ${{ runner.os }}-poetry-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('poetry.lock') }}
43+
restore-keys: |
44+
${{ runner.os }}-poetry-${{ steps.setup-python.outputs.python-version }}-
45+
46+
- name: Install dependencies
47+
run: poetry install
48+
49+
- name: Export dependencies
50+
run: poetry export -o requirements.txt
51+
52+
- name: Run license checks
53+
run: poetry run liccheck
54+
55+
- name: Run CVE checks
56+
run: poetry run safety check

.pylintrc

+2-1
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,8 @@ disable=print-statement,
140140
deprecated-sys-function,
141141
exception-escape,
142142
comprehension-escape,
143-
missing-module-docstring
143+
missing-module-docstring,
144+
protected-access
144145

145146
# Enable the message, report, category or checker with the given id(s). You can
146147
# either give multiple identifier separated by comma (,) or put this option

CONTRIBUTING.md

+45-21
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,55 @@
1-
# How to contribute
1+
# Symphony BDK for Python Contribution and Governance Policies
22

3-
If you found a bug or issue, please ensure the bug was not already reported by searching in
4-
[GitHub issues](https://github.com/SymphonyPlatformSolutions/symphony-api-client-python/issues).
5-
If you are unable to find an open issue addressing the problem, open a new one.
6-
Be sure to include a title and clear description, the SDK version, and a code sample demonstrating the issue.
3+
This document describes the contribution process and governance policies of the FINOS {project name} project. The project is also governed by the [Linux Foundation Antitrust Policy](https://www.linuxfoundation.org/antitrust-policy/), and the FINOS [IP Policy](https://github.com/finos/community/blob/master/governance/IP-Policy.pdf), [Code of Conduct](https://github.com/finos/community/blob/master/governance/Code-of-Conduct.md), [Collaborative Principles](https://github.com/finos/community/blob/master/governance/Collaborative-Principles.md), and [Meeting Procedures](https://github.com/finos/community/blob/master/governance/Meeting-Procedures.md).
74

8-
If you open a PR to fix any issue, please reference the ticket in the PR title.
9-
A [Symphony SDK team](https://github.com/orgs/SymphonyPlatformSolutions/teams/symphony-sdk/members) member
10-
will have to approve before it is merged and eventually released.
5+
## Contribution Process
116

12-
## Module and package structure
7+
Before making a contribution, please take the following steps:
8+
1. Check whether there's already an open issue related to your proposed contribution. If there is, join the discussion and propose your contribution there.
9+
2. If there isn't already a relevant issue, create one, describing your contribution and the problem you're trying to solve.
10+
3. Respond to any questions or suggestions raised in the issue by other developers.
11+
4. Fork the project repository and prepare your proposed contribution.
12+
5. Submit a pull request.
1313

14-
Source code is divided into three main packages:
15-
* [sym_api_client_python](sym_api_client_python) which contains the SDK source code;
16-
* [tests](tests) which contains unit tests;
17-
* [examples](examples) which contains code samples illustrating SDK basic usage.
14+
NOTE: All contributors must have a contributor license agreement (CLA) on file with FINOS before their pull requests will be merged. Please review the FINOS [contribution requirements](https://finosfoundation.atlassian.net/wiki/spaces/FINOS/pages/75530375/Contribution+Compliance+Requirements) and submit (or have your employer submit) the required CLA before submitting a pull request.
1815

19-
## Testing
16+
## Governance
2017

21-
Unit tests should be added or updated each time a PR is submitted.
18+
### Roles
2219

23-
## Coding guidelines
20+
The project community consists of Contributors and Maintainers:
21+
* A **Contributor** is anyone who submits a contribution to the project. (Contributions may include code, issues, comments, documentation, media, or any combination of the above.)
22+
* A **Maintainer** is a Contributor who, by virtue of their contribution history, has been given write access to project repositories and may merge approved contributions.
23+
* The **Lead Maintainer** is the project's interface with the FINOS team and Board. They are responsible for approving [quarterly project reports](https://finosfoundation.atlassian.net/wiki/spaces/FINOS/pages/93225748/Board+Reporting+and+Program+Health+Checks) and communicating on behalf of the project. The Lead Maintainer is elected by a vote of the Maintainers.
2424

25-
The guidelines outlined in [PEP 8](https://www.python.org/dev/peps/pep-0008/) should be followed on any code update.
25+
### Contribution Rules
2626

27-
## Documentation
27+
Anyone is welcome to submit a contribution to the project. The rules below apply to all contributions. (The key words "MUST", "SHALL", "SHOULD", "MAY", etc. in this document are to be interpreted as described in [IETF RFC 2119](https://www.ietf.org/rfc/rfc2119.txt).)
2828

29-
Public classes and methods should be properly documented using javadoc. Main features should be documented using
30-
[Markdown](https://daringfireball.net/projects/markdown/) under the [docs folder](docs)
31-
and exemplified with runnable code under the [examples package](examples).
29+
* All contributions MUST be submitted as pull requests, including contributions by Maintainers.
30+
* All pull requests SHOULD be reviewed by a Maintainer (other than the Contributor) before being merged.
31+
* Pull requests for non-trivial contributions SHOULD remain open for a review period sufficient to give all Maintainers a sufficient opportunity to review and comment on them.
32+
* After the review period, if no Maintainer has an objection to the pull request, any Maintainer MAY merge it.
33+
* If any Maintainer objects to a pull request, the Maintainers SHOULD try to come to consensus through discussion. If not consensus can be reached, any Maintainer MAY call for a vote on the contribution.
34+
35+
### Maintainer Voting
36+
37+
The Maintainers MAY hold votes only when they are unable to reach consensus on an issue. Any Maintainer MAY call a vote on a contested issue, after which Maintainers SHALL have 36 hours to register their votes. Votes SHALL take the form of "+1" (agree), "-1" (disagree), "+0" (abstain). Issues SHALL be decided by the majority of votes cast. If there is only one Maintainer, they SHALL decide any issue otherwise requiring a Maintainer vote. If a vote is tied, the Lead Maintainer MAY cast an additional tie-breaker vote.
38+
39+
The Maintainers SHALL decide the following matters by consensus or, if necessary, a vote:
40+
* Contested pull requests
41+
* Election and removal of the Lead Maintainer
42+
* Election and removal of Maintainers
43+
44+
All Maintainer votes MUST be carried out transparently, with all discussion and voting occurring in public, either:
45+
* in comments associated with the relevant issue or pull request, if applicable;
46+
* on the project mailing list or other official public communication channel; or
47+
* during a regular, minuted project meeting.
48+
49+
### Maintainer Qualifications
50+
51+
Any Contributor who has made a substantial contribution to the project MAY apply (or be nominated) to become a Maintainer. The existing Maintainers SHALL decide whether to approve the nomination according to the Maintainer Voting process above.
52+
53+
### Changes to this Document
54+
55+
This document MAY be amended by a vote of the Maintainers according to the Maintainer Voting process above.

0 commit comments

Comments
 (0)