Skip to content

Latest commit

 

History

History
58 lines (38 loc) · 4.51 KB

CONTRIBUTING.md

File metadata and controls

58 lines (38 loc) · 4.51 KB

How to contribute

WebSight Starter is a sample open-source project built on top of the Websight CMS Community Edition administered by the Dynamic Solution. We appreciate your interest and efforts to contribute to Websight Starter. See the LICENSE licensing information and the contributing (CLA) information.

We highly appreciate your effort to contribute, but we recommend you discuss to a maintainer before spending a lot of time making a pull request that may not align with the project roadmap.

Feature Requests

Feature Requests by the community are highly encouraged. Feel free to submit a new one.

Bugs

WebSight Starter is using GitHub issues to manage bugs. We keep a close eye on them. Before filing a new issue, try to ensure your problem does not already exist.

Code of Conduct

This project, and everyone participating in it, are governed by the WebSight Code of Conduct. By participating, you are expected to uphold it. Make sure to read the full text to understand which type of actions may or may not be tolerated.

Contributor License Agreement (CLA)

Individual contribution

You need to sign a Dynamic Solutions Individual Contributor License Agreement (CLA) to accept your pull request. You only need to do this once. If you submit a pull request for the first time, we will ask you to sign our CLA before merging the pull request.

Company contribution

If you make contributions to our repositories on behalf of your company, we will need a Dynamic Solutions Corporate Contributor License Agreement signed. To do that, please get in touch with us at websight@ds.pl.

Documentation

Pull requests related to fixing documentation for the latest release should be directed towards the documentation repository.

Before Submitting a Pull Request

Coding standards

Follow Google Style Guide code formatting, particularly set your IDE tab size/ident to 2 spaces and continuation ident to 4 spaces.

Additionally, we use the maven-checkstyle-plugin plugin to validate all rules, so if there is some checkstyle issue, our mvn clean install should fail with the message:

[INFO] Starting audit...
[WARN] /Projects/websight/projects/howlite/core/src/main/java/pl/ds/howlite/components/models/AccordionItemComponent.java:12:8: 'member def modifier' has incorrect indentation level 7, expected level should be 2. [Indentation]
[WARN] /Projects/websight/projects/howlite/core/src/main/java/pl/ds/howlite/components/models/AccordionItemComponent.java:13:3: Annotation 'Inject' have incorrect indentation level 2, expected level should be 7. [AnnotationLocationVariables]
[WARN] /Projects/websight/projects/howlite/core/src/main/java/pl/ds/howlite/components/models/AccordionItemComponent.java:14:3: Annotation 'Default' have incorrect indentation level 2, expected level should be 7. [AnnotationLocationVariables]
Audit done.

Tests

We use JUnit 5 for unit tests, Cypress for end-to-end tests, and BackstopJS to visual regression tests.

Before contributing a change, make sure to run all tests and ensure they pass. If you are adding a new feature, make sure to add tests for it. See the CI GH Action on how to run the tests suites.

Additionally, we use this repository as a Developer's start guide reference. Make sure the Dev Journey Action is passing. You may run it locally using the ./scripts/dev-journey-*.sh scripts. See the full workflow in the CI GH Action.

Note: on MacOs you will need to brew install coreutils to run the dev-journey-*.sh scripts.