meta data for this page
  •  

This is an old revision of the document!


Contributing to ITFlow

If you are able to make a contribution that would make ITFlow better for everyone, please do!

You can contribute to ITFlow in a few ways:

  • Contribute code
  • Report bugs
  • Suggest feature enhancements
  • Star the project on GitHub
  • Tell others of your success using ITFlow (please don't spam)

Policies & Guidelines

Before contributing to ITFlow you should be aware of the documents:

Contribute Code

To contribute code to ITFlow, you will need to fork the repository and create a pull request.

Before doing so, please ensure to discuss the issue/idea with other contributors on the Forum first - this saves everyone time and ensures your contribution is aligned with our goals.

The code for ITFlow is split into two branches:

  1. master - The main codebase for all installs, updated ~monthly (demo: demo.itflow.org)
  2. develop - The active development branch, all PRs should be merged here (demo: develop.dev.itflow.org)

Steps to raise a pull request (PR)

  1. Fork the Project on GitHub
  2. Clone the develop branch: (git clone --branch develop https://github.com/itflow-org/itflow.git) and follow the setup guide
  3. Set your $repo_branch in config.php to 'develop'
  4. Create your branch (git checkout -b my-branch)
  5. Commit your Changes (git add something.txt && git commit -m 'Add some')
  6. Push to your branch (git push origin my-branch)
  7. Open a Pull Request, ensuring to adjust the base from master to develop

Maintainer Steps for monthly releases

Around once a month, we will merge develop into master for a new release. The steps are:

  1. Ensure testing has been completed as much as possible
  2. In develop, increment version.php in the YY.M.V format (e.g. 25.1 for the first release in Jan 2025, 25.1.1 for the second release of Jan 2025, and 25.6 for the first release in June 2025)
  3. Look over the recent changes and write a short release summary
  4. Raise a PR to merge develop into master
  5. Test a final time on PR Review & ensure no other issues (Sonar, Linting, etc)
  6. Approve the PR & Merge