Skip to content

Latest commit

 

History

History
114 lines (80 loc) · 3.52 KB

CONTRIBUTING.md

File metadata and controls

114 lines (80 loc) · 3.52 KB

Contributing

Hi there, thanks for checking out our repo!

Rynovate is a set of shareable Renovate config presets that we use at SEEK. While third-party contributions are certainly welcome, this project is entirely driven by our internal requirements.

SEEKers: this repo is public, so don't commit or post anything that isn't ready for the entire world to see.

Table of contents

Getting started

Rynovate is documented through its README. Its presets are mastered as JSON files in the repository root.

Keep in mind that Renovate is incredibly difficult to configure correctly. Certain "bugs" in our presets are likely unfixable based on Renovate's current configuration logic.

I want to discuss or report something

Submit an issue if you have a question, feature request or bug report.

If you work at SEEK, #typescriptification is your friend.

I want to contribute a change

Follow the development steps below to create a pull request. Please explain the context and intent of your change so we can better validate it.

Development

Git workflow

We use GitHub flow.

Create a new branch off of the latest commit on master:

git fetch origin
git switch --create your-branch-name origin/master

Develop, test and commit your changes on this branch.

git add --all
git commit

Finally, push your branch to GitHub and create a pull request:

git push --set-upstream origin your-branch-name

If you don't have push access, you may need to fork the repo and push there instead:

git remote add fork [email protected]:your-username/rynovate.git
git push --set-upstream fork your-branch-name

A maintainer will get to your pull request and review the changes. If all is well, they will merge your pull request into master.

Testing

If you are making a non-trivial change, we recommend that you test it out on an individual repository first.

Extending an existing Rynovate config is often not enough, as package rule ordering can affect Renovate's behaviour in non-obvious ways.

// Not recommended for testing changes to the preset. Instead, copy across the
// raw JSON of the preset and tweak it from there.
{
  extends: ['github>seek-oss/rynovate'],
  packageRules: [
    // ...
  ],
}

Another option for testing is to freshly install Renovate on a repository.

The Renovate bot will create a Configure Renovate onboarding PR, which includes a preview of the pull requests it will open based on the provided config. You can push changes to this onboarding PR to update the preview.

Releases

Rynovate consumers track the master branch on GitHub, so merging a pull request constitutes a release.