Skip to content
This repository was archived by the owner on Jan 19, 2023. It is now read-only.

Latest commit

 

History

History
87 lines (54 loc) · 3.67 KB

CONTRIBUTING.md

File metadata and controls

87 lines (54 loc) · 3.67 KB

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 [email protected]: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.