Skip to content

Commit 5de5095

Browse files
FinsaasGHkauri-herobertllllBert
authored
Docs/contributing plus cleanup (#138)
* update Practice with reference to version & QA * update practice with version release info * DRAFT: Update docs/branch (#133) * Update node top level README add list of component README files for easy navigation * Added reference to UI-Interface-Interface Added reference to UI-Interface-Interface document that lives in the Node repo main folder * Update README.md * Delete SHRD-faucet This is no longer usable and is not connected to the MASQ token contracts * Update to blockchain service details Update to blockchain service details about Polygon, testnets, Alchemy also removed old images * wording and formattting * update LICENSE updated with corrected copyright for MASQ, and added info regarding previous codebase being removed from GitHub and original repo disappeared * Update Practice with QA blurb Thanks Stew * adjust copyright * remove old DNS doc * remove old DNS doc * remove old DNS doc * delete old faucet info * updated with component readmes * remove old logo * remove old logo2 * Create brand-guidelines.md * add masq logos * remove to move logos * add masq logos * added masq logo to readme * update from reviews * update and copyright bump * copyright bump [skip ci] [skip ci] * copyright bump [skip ci] * copyright bump [skip ci] * copyright bump [skip ci] * copyright bump [skip ci] * copyright bump [skip ci] * copyright bump [skip ci] * copyright bump [skip ci] * copyright bump [skip ci] * copyright bump [skip ci] * copyright bump [skip ci] * docs/contributing-plus-cleanup: last polishment Co-authored-by: KauriHero <[email protected]> Co-authored-by: Bert <[email protected]> Co-authored-by: Bert <[email protected]>
1 parent 1042959 commit 5de5095

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+139
-149
lines changed

LICENSE

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
GNU GENERAL PUBLIC LICENSE
22

3-
Copyright (c) 2019 MASQ Project
3+
Copyright (c) 2022, MASQ (https://masq.ai) and/or its affiliates. All rights reserved.
44

55
MASQ Node and code under MASQ Project (https://github.com/MASQ-Project) is licensed under the GNU GPL, version 3
66

@@ -19,11 +19,11 @@ All files not explicitly mentioned below
1919
License: GNU GPLv3
2020
License text: See below
2121

22-
SubstratumNode Open Source - Codebase
23-
What: Code forked from SubstratumNode Repo
24-
Source URL: https://github.com/SubstratumNetwork/SubstratumNode
22+
SubstratumNode Original Codebase
23+
What: Code written by Substratum LLC prior to Oct 2019
24+
Source URL: https://github.com/robmoorman/SubstratumNode (last remaining fork of original repo visible on GitHub)
2525
Copyright: Substratum LLC 2017-2019, (https://substratum.net)
26-
License: GNU GPLv3 - https://github.com/SubstratumNetwork/SubstratumNode/blob/master/LICENSE
26+
License: GNU GPLv3 - https://github.com/robmoorman/SubstratumNode/blob/master/LICENSE
2727
License text: See below
2828

2929
Trademarks

MASQ_Logo_Gold.png

-9.19 KB
Binary file not shown.

[email protected]

-58.7 KB
Binary file not shown.

PRACTICE.md

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,5 +157,66 @@ Keep close track of both of these processes so that you can answer any questions
157157
If the pull request does not pass review or testing, you'll be notified and the card will be moved back into
158158
Awaiting Development, from whence you can reclaim it if you like.
159159

160+
Around this tme, there will also be discussion with the core developers and Product Owner to determine what type of version increment will be involved and adding a git tag after the review, QA and merge to master are completed. If there is a planned release version, then the merge commit may be tagged as a pre-release pending a confirmed release version number.
161+
162+
Versioning will follow basic semver - vx.x.x and qualifiers if needed, eg. v0.6.0, 0.7.1-rc1, 1.0.0-beta etc
163+
160164
## Quality Assurance
161-
[Somebody who knows QA should fill this in]
165+
Quality Assurance usually involves software testing - the execution of a software component or system component to evaluate one or more properties of interest.
166+
167+
### In general, these properties indicate the extent to which the component or system under test:
168+
169+
- [ ] Meets the requirements that guided its design and development
170+
- [ ] responds correctly to all kinds of inputs
171+
- [ ] performs its functions within an acceptable time
172+
- [ ] is sufficiently usable
173+
- [ ] can be installed and run in its intended environments
174+
- [ ] achieves the general result its stakeholders desire
175+
176+
As the number of possible tests for even simple software components is practically infinite, all software testing uses some strategy to select tests that are feasible for the available time and resources. As a result, software testing typically, but not exclusively, attempts to execute a program or application with the intent of finding failures due to software faults. The job of testing is an iterative process as when one fault is fixed, it can illuminate other failures due to deeper faults, or can even create new ones.
177+
178+
Software testing can be conducted as soon as executable software (even if partially complete) exists. The overall approach to software development often determines when and how testing is conducted. For example, in a phased process, most testing occurs after system requirements have been defined and then implemented in testable programs.
179+
180+
In the MASQ Network project, the process of QA is triggered when a card is moved into the 'Quality Assurance In Progress' column on our [Card Wall](https://github.com/MASQ-Project/Node/blob/master/COLUMNS.md)
181+
182+
The Testing Supervisor or QA Manager is responsible for passing or failing a card based on the feedback from the test team across the different operating systems being supported. Any feedback, bugs or suggestions are communicated to the developer of the card, and another iteration of development, testing and review is completed.
183+
184+
CLI-based QA requires some basic command-line knowledge and understanding of the Node software itself.
185+
186+
If you would like to contribute to QA testing, and have a good foundational knowledge of CLI, please reach out to our team by [email](mailto:[email protected]) or join our [Discord](https://discord.gg/masq) and tag one of our admins.
187+
188+
## Software Versioning
189+
The determination of versioning will start with a discussion of the core developers and the Product Owner. This will begin towards the end of a card's engineering practice above, most likely during final review and QA steps.
190+
191+
Versioning follows basic [semver format](https://semver.org) - view the formal documentation and conventions for reference.
192+
193+
The core specifications to be followed are:
194+
195+
- Once a versioned package has been released, the contents of that version MUST NOT be modified. Any modifications MUST be released as a new version.
196+
- A pre-release version MAY be denoted by appending a hyphen and a series of dot separated - Example: 0.7.3-prerelease. A pre-release version indicates that the version is unstable and might not satisfy the intended compatibility requirements as denoted by its associated normal version.
197+
198+
Once the discussion around the development/feature branch or group of branch has finished, there will be a git tag added to the merge commit when all branch in a determined release are passed through QA and merged to `master` by an admin user of the Node repo.
199+
If a single branch being merged is not determined to be included in an immediate release with version increment, then no git tag is required unless agreed upon by the majority of the team for testing reasons with other parts of software stack such as the Electron MASQ app.
200+
201+
If a merging branch qualifies as a patch or minor release version, then prior to merge the developer will add a commit for review that adjusts all the version numbers in the `cargo.toml` files for all the major components within the codebase. This will be important for monitoring QA testing and logging of issues with different release versions in the wild.
202+
In the future, the team may determine that individual components within the code will have versions independent of each other, e.g. `automap` may be version 0.6.1, while `node` may have version 0.7.2
203+
204+
### Steps for Creating and Tagging the Next Version
205+
206+
Currently, the tag is expected to be just a lightweight tag following semver format.
207+
208+
The developer should follow these steps to complete the git tag before a repo admin is to merge into `master`
209+
210+
- [ ] First acquire an agreement from the Product Owner that your branch (in your open PR) is going to enclose the current, pending release.
211+
- [ ] Your code in your branch should appear errorless in Actions (it's passed all checks) and also it's satisfied all reviews, so is approved by the reviewer.
212+
- [ ] Create a tag to the HEAD commit of your branch with the previously agreed version number. If you do that locally on your machine you may want to use e.g.:
213+
```
214+
git tag v0.6.1
215+
216+
git push origin v0.6.1
217+
```
218+
- [ ] The last step should cause a new trigger of a run in Actions, this time with a different workflow than usual, producing official release binaries.
219+
- [ ] Now the git tag is in place at HEAD commit of your branch, you're finally ready to let the merge button for your PR to `master` be pressed!
220+
221+
With the above steps, automated pipelines and CI will build the software binaries for the 3 currently supported Operating Systems (OS) and upload them into an S3 repository to be archived against their version released whenever there is a version increment.
222+
There will be a designated repo folder in this repository labelled `latest` which will contain the latest versioned binaries for each OS.

README.md

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# MASQ Node
1+
# MASQ Node ![masq-logo](images/masq-logo-sm.png)
22

33
![ci-matrix](https://github.com/MASQ-Project/Node/workflows/ci-matrix/badge.svg)
44

@@ -27,8 +27,8 @@ anonymity.
2727

2828
__Important Note:__ Please remember that at the moment the MASQ Node is in development and is not clandestine. Your
2929
traffic can't be decrypted, and it is difficult to trace to you; but it is currently very easy for someone sniffing
30-
your Internet connection to tell that you're using MASQ. Please don't use it for any kind of sensitive traffic at this
31-
stage.
30+
your Internet connection to tell that you're using some form of Peer networking. Please don't use it for any kind of sensitive traffic at this
31+
stage - MASQ Network and it's developers are not responsible for any activity, or loss incurred, while using this beta software.
3232

3333
## Source
3434
The MASQ project was forked from Substratum's Node project in order to carry on development after Substratum ceased
@@ -43,11 +43,26 @@ A [Knowledge Base](https://docs.masq.ai/masq) and testing resources are being re
4343
levels of technical ability.
4444

4545
There you can find further information, guides and configuration examples for running MASQ Node from:
46-
- GUI (currently NEO v0.1)
46+
- MASQ app - v0.2 (formerly called "GEMINI")
4747
- CLI
4848
- Docker image
4949

50-
If you are interested in testing stages, speak to the team in the official [Discord channel](https://discord.gg/cdUsjBQrgq)
50+
If you are interested in testing stages, speak to the team in the official [Discord channel](https://discord.gg/masq)
51+
52+
### MASQ Node Component README.md files
53+
To help navigate the codebase, here are the README.md links for all documented components
54+
55+
- [Blockchain-Service-URL](https://github.com/MASQ-Project/Node/blob/master/node/docs/Blockchain-Service.md)
56+
- [sub_lib](https://github.com/MASQ-Project/Node/blob/master/node/src/sub_lib/README.md)
57+
- [proxy_server](https://github.com/MASQ-Project/Node/blob/master/node/src/proxy_server/README.md)
58+
- [test_utils](https://github.com/MASQ-Project/Node/blob/master/node/src/test_utils/README.md)
59+
- [ui_gateway](https://github.com/MASQ-Project/Node/blob/master/node/src/ui_gateway/README.md)
60+
- [accountant](https://github.com/MASQ-Project/Node/blob/master/node/src/accountant/README.md)
61+
- [proxy_client](https://github.com/MASQ-Project/Node/blob/master/node/src/proxy_client/README.md)
62+
- [entry_dns](https://github.com/MASQ-Project/Node/blob/master/node/src/entry_dns/README.md)
63+
- [hopper](https://github.com/MASQ-Project/Node/blob/master/node/src/hopper/README.md)
64+
- [neighborhood](https://github.com/MASQ-Project/Node/blob/master/node/src/neighborhood/README.md)
65+
- [multinode_integration_tests](https://github.com/MASQ-Project/Node/blob/master/multinode_integration_tests/tests/README.md)
5166

5267
### Downloading Official Releases
5368

@@ -431,6 +446,6 @@ recommend using a 64-bit version to build.
431446

432447
We do plan to release binaries that will run on 32-bit Windows, but they will likely be built on 64-bit Windows.
433448

434-
Copyright (c) 2019-2021, MASQ Network
449+
Copyright (c) 2019-2022, MASQ Network
435450

436451
Copyright (c) 2017-2019, Substratum LLC and/or its affiliates. All rights reserved.

dns_utility/README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# dns_utility
22
Utility for helping to change DNS on a user's local machine.
33

4+
# This tool is currently very unreliable and is known to be unusual on any Windows machine that has more than one NIC detected
5+
46
## Purpose
57
The purpose of `dns_utility` is to be the OS-agnostic tool that the MASQ Node user interface will use to examine
68
and manage the DNS settings of a user's machine for routing its TCP communications over the MASQ Network.
@@ -65,4 +67,4 @@ It probably isn't the most interesting place to begin digging into our code;
6567
[node](https://github.com/MASQ-Project/Node/tree/master/node)
6668
is a better place to start.
6769

68-
Copyright (c) 2019, MASQ (https://masq.ai) and/or its affiliates. All rights reserved.
70+
Copyright (c) 2022, MASQ (https://masq.ai) and/or its affiliates. All rights reserved.

images/masq-logo-sm.png

18.9 KB
Loading

images/masq-logo.png

50.6 KB
Loading

multinode_integration_tests/tests/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ IntelliJ is not. If you run these tests from IntelliJ, make sure to run only
99
one at a time. If you want to run several, use `ci/all.sh` or a specific
1010
`cargo` command that works like `ci/all.sh` does.
1111

12-
Copyright (c) 2019, MASQ (https://masq.ai) and/or its affiliates. All rights reserved.
12+
Copyright (c) 2022, MASQ (https://masq.ai) and/or its affiliates. All rights reserved.

node/README.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,17 @@ This subproject contains the code that provides functionality for both the MASQ
66
MASQ Node. It's probably the most interesting place to start, if you want to explore the code
77
behind MASQ.
88

9-
Copyright (c) 2019, MASQ (https://masq.ai) and/or its affiliates. All rights reserved.
9+
### Component README Files
10+
- [Blockchain-Service-URL](https://github.com/MASQ-Project/Node/blob/master/node/docs/Blockchain-Service.md)
11+
- [sub_lib](https://github.com/MASQ-Project/Node/blob/master/node/src/sub_lib/README.md)
12+
- [proxy_server](https://github.com/MASQ-Project/Node/blob/master/node/src/proxy_server/README.md)
13+
- [test_utils](https://github.com/MASQ-Project/Node/blob/master/node/src/test_utils/README.md)
14+
- [ui_gateway](https://github.com/MASQ-Project/Node/blob/master/node/src/ui_gateway/README.md)
15+
- [accountant](https://github.com/MASQ-Project/Node/blob/master/node/src/accountant/README.md)
16+
- [proxy_client](https://github.com/MASQ-Project/Node/blob/master/node/src/proxy_client/README.md)
17+
- [entry_dns](https://github.com/MASQ-Project/Node/blob/master/node/src/entry_dns/README.md)
18+
- [hopper](https://github.com/MASQ-Project/Node/blob/master/node/src/hopper/README.md)
19+
- [neighborhood](https://github.com/MASQ-Project/Node/blob/master/node/src/neighborhood/README.md)
20+
- [multinode_integration_tests](https://github.com/MASQ-Project/Node/blob/master/multinode_integration_tests/tests/README.md)
21+
22+
Copyright (c) 2022, MASQ (https://masq.ai) and/or its affiliates. All rights reserved.

0 commit comments

Comments
 (0)