ryzen-controller/CONTRIBUTING.md
Quentin “Storm1er” Decaunes 7a829f184f refactor: 💥 v2.0.0 Beta.
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
2020-03-14 15:26:51 +00:00

3.7 KiB
Raw Permalink Blame History

How to contribute

1. For everyone

You can help us in many ways:

Without beeing a developer

  • By opening an issue 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

If you want to be a part of Ryzen Controller Team, ask to become a member by opening an issue ;)

2. To members or Ryzen Controller Team

2.1. Git workflow

This project is fast forward commit only. It means the commit graph 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

2.1.1. Quick example

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 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, security dashboard, Static Application Security Testing.

And a release-check (sample job), 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

Dont 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 files, will be used for the release description.

2.2.6. Release

Only executed on scheduled pipelines

publish: Will create a new release no-publish: Avoid the red flag when no release has to be published.