mirror of
https://gitlab.com/ryzen-controller-team/ryzen-controller.git
synced 2024-12-23 02:23:31 +07:00
7a829f184f
BREAKING CHANGE: ⚠ Please avoid using v1 and v2 simultaneously. This version is stable enough to be released but is still under heavy development, **You may encounter bugs, if you encounter any, you can uninstall this version and go back to v1.** For users: - Users can now share presets and vote for them. - New installer/uninstaller with customizable installation path - #66 Add multi-language: English, Français, 简体中文, Deutsch, Türkçe. - Presets triggers are now in preset tabs with more options - Added splash screen - Better night mode - Release tab now open browser - Notifications are now handled within the app/system accordingly to the app's minimized state For developers: - Now using React and TypeScript - Switched from npm to yarn: https://github.com/electron-userland/electron-builder/issues/1147#issuecomment-276284477 - Updated Continuous Delivery Contributors: @rikoopa @Jamiexhz @Silvaburn#3669
88 lines
3.7 KiB
Markdown
88 lines
3.7 KiB
Markdown
# How to contribute
|
||
|
||
## 1. For everyone
|
||
|
||
You can help us in many ways:
|
||
|
||
Without beeing a developer
|
||
- By [opening an issue](https://gitlab.com/ryzen-controller-team/ryzen-controller/issues/new) when:
|
||
- you found a bug
|
||
- have a suggestion
|
||
- or just to tell us thanks
|
||
- By testing new features an give feedbacks
|
||
- on merge requests labeled `[to-test]`, take a look at the pipelines, you'll see some some green "bubbles". The one named _installers_ allow you to download artifacts.
|
||
|
||
If you have some developer/IT knowledge
|
||
- By doing code reviews:
|
||
- on merge requests labeled `[to-review]`, by commenting the code.
|
||
- on the [whole codebase](https://gitlab.com/ryzen-controller-team/ryzen-controller/tree/v2-react/src), by [opening an issue](https://gitlab.com/ryzen-controller-team/ryzen-controller/issues/new)
|
||
|
||
If you want to be a part of Ryzen Controller Team, ask to become a member by [opening an issue](https://gitlab.com/ryzen-controller-team/ryzen-controller/issues/new) ;)
|
||
|
||
## 2. To members or Ryzen Controller Team
|
||
|
||
### 2.1. Git workflow
|
||
|
||
This project is fast forward commit only. It means the [commit graph](https://gitlab.com/ryzen-controller-team/ryzen-controller/-/network/master) will stay on one line. It also means that every merge request must be up-to-date with the target branch before beeing merged.
|
||
|
||
This allow us to avoid any side effect due to merge commits.
|
||
|
||
A little article about this: [A git workflow using rebase](https://medium.com/singlestone/a-git-workflow-using-rebase-1b1210de83e5)
|
||
|
||
#### 2.1.1. Quick example
|
||
|
||
```bash
|
||
git clone git@gitlab.com:ryzen-controller-team/ryzen-controller.git ryzencontroller
|
||
cd ryzencontroller
|
||
git checkout -b my-bugfix
|
||
# Doing stuff with files
|
||
git add .
|
||
git commit -m "fix: Ensure people know what to do."
|
||
git push origin my-bugfix
|
||
```
|
||
Then you'll see a like to create a merge request
|
||
|
||
### 2.2. Automation
|
||
|
||
This project contains a [`.gitlab-ci.yml`](https://gitlab.com/ryzen-controller-team/ryzen-controller/blob/master/.gitlab-ci.yml) file.
|
||
|
||
This file allow us to auotmatically test, build, package and publish Ryzen Controller app.
|
||
|
||
It's executed for each merge request update and each week on the master branch.
|
||
|
||
Here a list of what's done by stage.
|
||
|
||
#### 2.2.1. Tests
|
||
|
||
Some jobs to enhance gitlab features like [code quality review](https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html), [security dashboard](https://gitlab.com/ryzen-controller-team/ryzen-controller/security/dashboard/), [Static Application Security Testing](https://docs.gitlab.com/ee/user/application_security/sast/).
|
||
|
||
And a release-check ([sample job](https://gitlab.com/ryzen-controller-team/ryzen-controller/-/jobs/400164480)), this analyse commit list to detect if a new version must be released.
|
||
|
||
#### 2.2.2. Install
|
||
|
||
`yarn install --frozen-lockfile`: https://yarnpkg.com/lang/en/docs/cli/install/#toc-yarn-install-frozen-lockfile
|
||
|
||
Don’t generate a yarn.lock lockfile and fail if an update is needed.
|
||
|
||
#### 2.2.3. Build
|
||
|
||
`yarn build`: Compile projects files into `build/` folder, production ready.
|
||
|
||
#### 2.2.4. Installers
|
||
|
||
`yarn dist-pack-all`: Create a electron package and the installers that goes with it.
|
||
|
||
#### 2.2.5. Release note
|
||
|
||
Only executed on scheduled pipelines
|
||
|
||
`create-rpm-link`, `create-deb-link`, `create-exe-link`: Create bitly links so we can count downloads =)
|
||
`update-changelog`: Update [CHANGELOG.md](https://gitlab.com/ryzen-controller-team/ryzen-controller/blob/master/CHANGELOG.md) files, will be used for the release description.
|
||
|
||
#### 2.2.6. Release
|
||
|
||
Only executed on scheduled pipelines
|
||
|
||
`publish`: Will create a new [release](https://gitlab.com/ryzen-controller-team/ryzen-controller/-/releases)
|
||
`no-publish`: Avoid the red flag when no release has to be published.
|