Skip to content

Commit 773390a

Browse files
authored
Merge pull request #141 from VisActor/release/1.2.12
[Auto release] release 1.2.12
2 parents d854aae + 7284f66 commit 773390a

134 files changed

Lines changed: 6909 additions & 2101 deletions

File tree

Some content is hidden

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

.github/workflows/pre-release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010

1111
jobs:
1212
build:
13-
runs-on: macOS-latest
13+
runs-on: macOS-12
1414

1515
permissions:
1616
contents: write

.github/workflows/release-changelog.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
jobs:
88
update-changelog-after-publish-a-release:
99
name: GitHub Actions Test
10-
runs-on: macOS-latest
10+
runs-on: macOS-12
1111

1212
strategy:
1313
matrix:

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77

88
jobs:
99
build:
10-
runs-on: macOS-latest
10+
runs-on: macOS-12
1111
permissions:
1212
contents: write
1313
pull-requests: write

.github/workflows/stale.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ on:
1111

1212
jobs:
1313
stale:
14-
runs-on: ubuntu-latest
14+
runs-on: ubuntu-12
1515
permissions:
1616
issues: write
1717
pull-requests: write

.github/workflows/sync-main-to-develop.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
if_merged:
1212
if: github.event.pull_request.merged == true
1313

14-
runs-on: macOS-latest
14+
runs-on: macOS-12
1515

1616
permissions:
1717
contents: write

.github/workflows/unit-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ on:
1111

1212
jobs:
1313
build:
14-
runs-on: macOS-latest
14+
runs-on: macOS-12
1515

1616
strategy:
1717
matrix:

CONTRIBUTING.md

Lines changed: 153 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,182 @@
1-
# Contributing
1+
# VMind Open Source Code Contribution Guide
22

3-
## Code of Conduct
3+
Firstly, thumbs up👍🏻 for choosing to join the rank of open source contribution. Additionally, we greatly appreciate you choosing to participate in the VisActor community and contributing to this open source project.
44

5-
We has adopted [the Contributor Covenant](CODE_OF_CONDUCT.md) as our Code of Conduct, and we expect project participants to adhere to it. Please read the full text so that you can understand what actions will and will not be tolerated.
5+
## VMind Contribution Guide
66

7-
## Open Development
7+
The VisActor team usually develops and maintains issues on Github. Please open the [Github website](https://github.com/), click the `Sign up` button in the upper right corner, register an account of your own, and start the first step of your open source journey.
88

9-
All work on VChart happens directly on GitHub. Both core team members and external contributors send pull requests which go through the same review process.
9+
If for some reason you can't open the Github site, you can still work on the project through [Gitee](https://gitee.com/VisActor/VChart).
1010

11-
## Semantic Versioning
11+
In the [VMind repository](https://github.com/VisActor/VMind), we have a [guide](https://github.com/VisActor/VMind/blob/develop/CONTRIBUTING.zh-CN.md) for all open source contributors that introduces version management, branch management, etc. **Please take a few minutes to read and understand it**.
1212

13-
VChart follows [semantic versioning](https://semver.org/). We release patch versions for critical bugfixes, minor versions for new features or non-essential changes, and major versions for any breaking changes. When we make breaking changes, we also introduce deprecation warnings in a minor version so that our users learn about the upcoming changes and migrate their code in advance.
13+
## Your First PullRequest
1414

15-
Every significant change is documented in the changelog file.
15+
### Step0: Install Git
1616

17-
## Branch Organization
17+
Git is a version control system used to track and manage changes in code in software development projects. It helps developers record and manage the history of code, making it easy for team collaboration, code version control, merging code, and more. With Git, you can track each version of each file and easily switch between and compare different versions. Git also provides branch management, so you can perform multiple parallel development tasks at the same time.
1818

19-
Submit all changes directly to the main branch. We don’t use separate branches for development or for upcoming releases. We do our best to keep main in good shape, with all tests passing.
19+
- Visit the official Git website: <https://git-scm.com/>
20+
- Download the latest version of Git installer.
21+
- Run the downloaded installer and follow the installation wizard's instructions to install.
22+
- After installation, you can use the `git version` command on the command line to confirm successful installation.
2023

21-
Code that lands in main must be compatible with the latest stable release. It may contain additional features, but no breaking changes. We should be able to release a new minor version from the tip of main at any time.
24+
![](https://lf9-dp-fe-cms-tos.byteorg.com/obj/bit-cloud/git_version.png)
2225

23-
## Bugs
26+
When using Git, you need to set your username and email address, as these will be used in every Git commit. Open the command line and input the following commands to set your Git username:
2427

25-
We are using [GitHub Issues](https://github.com/VisActor/VChart/issues) for our public bugs. We keep a close eye on this and try to make it clear when we have an internal fix in progress. Before filing a new task, try to make sure your problem doesn’t already exist.
28+
```bash
29+
git config --global user.name "your_username"
30+
git config --global user.email "your_email@example.com"
31+
```
2632

27-
We have already prepared issue templates for bug reports and feature requests. If you want to fire an issue, just enter the [New issue](https://github.com/VisActor/VChart/issues/new/choose) page and select either of them to get started. The best way to get your bug fixed is by using our issue template and provide reproduction steps with this [template](https://github.com/VisActor/VChart/issues/new?assignees=&labels=bug&projects=&template=bug_report.yml&title=%5BBug%5D+).
33+
Please replace "your_username" and "your_email@example.com" with the username and email you want to use in Git.
2834

29-
## Proposing a Change
35+
### Step1: Fork the Project
3036

31-
If you intend to change the public API, or make any non-trivial changes to the implementation, we recommend filing an issue, or just enter the [New issue](https://github.com/VisActor/VChart/issues/new/choose) page and select either of them to get started.
37+
- First, you need to fork this project. Go to the [VMind project page](https://github.com/VisActor/VMind), click the Fork button in the upper right corner.
3238

33-
If you’re only fixing a bug, it’s fine to submit a pull request right away but we still recommend to file an issue detailing what you’re fixing. This is helpful in case we don’t accept that specific fix but want to keep track of the issue.
39+
![](https://lf9-dp-fe-cms-tos.byteorg.com/obj/bit-cloud/fork_vmind.png)
3440

35-
## Your First Pull Request
41+
- Your github account should now have a project named xxxx(your github username)/vmind.
42+
- Use the following command on your local computer: you should get a VMind folder.
3643

37-
Working on your first Pull Request? You can learn how from this free video series:[How to Contribute to an Open Source Project on GitHub](https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github)
44+
```
45+
// ssh
46+
git clone git@github.com:xxxx(your github username)/VMind.git
47+
// https
48+
git clone https://github.com/xxxx(your github username)/VMind.git
49+
```
3850

39-
To help you get your feet wet and get you familiar with our contribution process, we have a list of [good first issues](https://github.com/VisActor/VChart/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) that contain bugs that have a relatively limited scope. This is a great place to get started.
51+
### Step2: Get the Project Code
4052

41-
If you decide to fix an issue, please be sure to check the comment thread in case somebody is already working on a fix. If nobody is working on it at the moment, please leave a comment stating that you intend to work on it so other people don’t accidentally duplicate your effort.
53+
- Enter the VMind folder and add the VMind remote address
4254

43-
If somebody claims an issue but doesn’t follow up for more than two weeks, it’s fine to take it over but you should still leave a comment.
55+
```
56+
git remote add upstream https://github.com/VisActor/VMind.git
57+
```
4458

45-
### Sending a Pull Request
59+
- Get the VMind latest source code
4660

47-
The core team is monitoring for pull requests. We will review your pull request and either merge it, request changes to it, or close it with an explanation. We’ll do our best to provide updates and feedback throughout the process.
61+
```
62+
git pull upstream develop
63+
```
4864

49-
**Before submitting a pull request**, please make sure the following is done:
65+
### Step3: Create a Branch
5066

51-
1. Fork the [repository](git@github.com:VisActor/VChart.git) and create your branch from `main`.
52-
2. (If rush has been install, just go to step 3) global install [@microsoft/rush](https://rushjs.io/pages/intro/get_started/)`npm i --global @microsoft/rush`.
53-
3. Run `rush update` in the repository root.
54-
4. If you’ve fixed a bug or added code that should be tested, add tests!
55-
5. Ensure the test suite passes (`rush test`).
56-
6. If you've modified sources code(The code in `src/` folder), make sure you've run `rush change`, and commit the rush changelog in `common/changes`.
57-
7. Run `rush compile` for typescript check. Tip: we will also do this check in github workflow.
67+
- Now we can start contributing our code. VMind default branch is the develop branch. Whether it is feature development, bug fixes, or document writing, please create a new branch and merge it to the develop branch. Use the following code to create the branch:
5868

59-
## Development Workflow
69+
```
70+
// Create feature development branch
71+
git checkout -b feat/xxxx
6072
61-
After cloning VChart, run `rush update` to fetch its dependencies. Then, you can run several commands:
73+
// Create problem-fixing development branch
74+
git checkout -b fix/xxxx
6275
63-
1. `rush start` runs VChart test page locally.
64-
2. `rush react` runs React VChart test page locally.
65-
3. `rush eslint` checks the code style.
66-
4. `rush test` runs the complete test suite.
67-
5. `rush run -p <project_name> -s <script>` run the specified script for the specified project, eg. `rush run -p @visactor/vchart -s start`
68-
6. `rush prettier --dir <project_relative_path> --ext <file_type>` prettier the specified script for the specified project, eg. `rush prettier --dir packages/vchart --ext ts`
76+
// Create document/demo branch
77+
git checkout -b docs/xxxx
78+
```
6979

70-
If you want to update documents, you can run `rush docs` to preview VChart document contents locally.
80+
- Now we can modify code on the branch
81+
- Let's assume we have added some code and made a commit to the stage
82+
- git commit -a -m "new commit"
83+
84+
### Step4: Merge Changes
85+
86+
- A common problem is that there is new update in the remote upstream(@visactor/vmind) which can cause conflicts when we push the Pull Request. So, before submission, we can merge the commits from other developers with our commits. Use the following code to switch to develop branch:
87+
88+
```
89+
git checkout develop
90+
```
91+
92+
- Use the following code to pull the latest code from remote:
93+
94+
```
95+
git pull upstream develop
96+
```
97+
98+
- Switch back to your own development branch:
99+
100+
```
101+
git checkout docs/add-funnel-demo
102+
```
103+
104+
- Merge the develop commit to branch1:
105+
106+
```
107+
git rebase develop
108+
```
109+
110+
- Push the update code to your own branch:
111+
112+
```
113+
git push upstream docs/add-funnel-demo
114+
```
115+
116+
### Step5: Submit Pull Request
117+
118+
You can click the New pull request button on your github repo page.
119+
120+
![](https://lf9-dp-fe-cms-tos.byteorg.com/obj/bit-cloud/create_pr.png)
121+
122+
Follow the template to write down the content modified in this submission:
123+
124+
- Check what type of modification this is
125+
126+
![](https://lf9-dp-fe-cms-tos.byteorg.com/obj/bit-cloud/pr_template.png)
127+
128+
- Fill in the related issue
129+
130+
![](https://lf9-dp-fe-cms-tos.byteorg.com/obj/bit-cloud/related_issue.png)
131+
132+
- If a complex change has been made, please provide background and solution
133+
134+
![](https://lf9-dp-fe-cms-tos.byteorg.com/obj/bit-cloud/background_solution.png)
135+
136+
After completing all related information, click Create pull request to submit
137+
138+
## Mini Task Development Guides
139+
140+
"**good first issue**" is a common label in the open source community, aimed to help new contributors find ideal starter issues.
141+
142+
VMind's starter issues can be viewed on the [issue list](https://github.com/VisActor/VMind/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22), which currently includes two types:
143+
144+
- Demo use case creation
145+
- Simple function development
146+
147+
If you currently **have time and are willing** to contribute to the community, look at the good first issue in the issue list, and pick one that interests you and suits your abilities.
148+
149+
I believe you are a student who finishes what you start, so once you understand and decide to take on an issue, please leave a message under the issue to let everyone know.
150+
151+
### Feature Task
152+
153+
We have prepared some simple and easy-to-master feature development tasks. If you have a basic understanding of Javascript/Typescript, you can take on this type of task.
154+
155+
You can learn more about VMind code architecture by implementing requirements. **You can leave a message under the issue and discuss your plan with everyone**.
156+
157+
1. Based on the develop branch, pull a new `feat/***` branch for development
158+
1. (If you've already installed it, skip this step) Install [@microsoft/rush](https://rushjs.io/pages/intro/get_started/) globally: `npm i --global @microsoft/rush`
159+
1. Run `rush update` in the root directory
160+
1. Run `rush start` to test VMind code locally
161+
162+
![](https://lf9-dp-fe-cms-tos.byteorg.com/obj/bit-cloud/vmind_playground.png)
163+
164+
Click "Set API-Key and LLM URL" at top left corner to set LLM service url and key
165+
166+
5. Confirm all tests pass `rush test`
167+
5. After completing development, run `rush change` to write changelog and submit changes
168+
5. Commit all code, and create a Pull Request on Github, inviting others to review
169+
170+
## Embrace the VisActor Community
171+
172+
In addition to contributing code to VIsActor, we encourage you to participate in other activities that help the community thrive, such as:
173+
174+
1. Offering suggestions for project development, feature planning, and more
175+
2. Creating articles and videos, hosting lectures to promote VisActor
176+
3. Writing promotional plans and executing them with the team
177+
178+
VisActor is also working hard to help community builders grow together. We plan to (but are not limited to, and look forward to more suggestions from everyone) provide the following assistance:
179+
180+
1. Data visualization development training based on VIsActor, to help participants quickly grow in programming skills, visualization theory, architecture design, and other aspects.
181+
2. Regularly selecting the "Code Contribution Award" and "Community Promotion Award"
182+
3. Organizing community members to participate in open-source activities

0 commit comments

Comments
 (0)