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
3.7 KiB
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.
- on merge requests labeled
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, by opening an issue
- on merge requests labeled
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
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 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.