OS2Forms is a drupal based solution for creating advanced webform functionality for Danish Municipalities.
All OS2Forms projects are using EUPL v1.2 License.
Every OS2Forms drupal project should have continuous integration builds are performing by Travis CI. To improve code quality and integration possibilities there are using set of following tools:
- PHP_CodeSniffer with Drupal coding standards and best practices defined in Coder module.
- ESLint with Drupal ESLint rules set.
- Stylelint with rules set defined for Drupal core.
- Twigcs with standard set of rules for twig templates.
- Drupal-check to check project readiness to Drupal 9 via checking of deprecated code usage.
- @TODO PHPUnit test to check key contrib modules tests.
For more details about travis-ci continuous integration builds
see .travis-ci.yml
file in project git repository.
NOTE: Some projects couldn't have its own PHPUnit test. This is a part of future development scope.
Project use default approach for branch naming.
develop
- general development branch (Default).develop-2.x
- development branch for version 2.x. (if requires)master
- stable version of code.
There are no specific rules for feature branch names. However we recommend use OS2Forms JIRA or github issue ticket number as prefix for your branch name.
Release tags should be created from related branches. Tag name space should follow Semantic Versioning rules. Given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards compatible manner, and
- PATCH version when you make backwards compatible bug fixes.
Since OS2Forms projects are Drupal friednly, there was used drupal-friendly git branch/tag names like 8.x, 8.x-2.x. Please keep use it or ask about changes in case this names are not compatible with changes you have.
For new repositories it was decided to switch back to github, composer way to for branch names.
New changes or bugfixes in existing codebase have to be added to repository through general code review process. To request a code review, use the following process:
- Add Github pull request from the feature/bugfix branch to 8.x or other related dev branch.
- Request code review from one of project contributor.
- Reviewer approves, requests changes or rejects pull request.
- Discuss/Add requested changes or merge approved pull request.
NOTE: There are preconditions that have to be met before accepting a pull request:
- All requested changes have to be done
- All discussion have to be resolved
- Pull request should have green Travis CI build status.