This file is going to be used to document de development process of IsardVDI, both for newcomers and old contributors!
- IsardVDI is developed in a rolling release model. This means that every change done, is going to be a new version
- Uses semver
- If the changes are a bugfix, increase the PATCH (x.x.X)
- If the changes introduce a new feature, change the MINOR (x.X.x)
- If some changes break the upgrading process, change the MAJOR (X.x.x)
- Does not provide support for old versions (e.g. if we have version 3.1.1 and 3.2.0 is out, there's never going to be version 3.1.2)
Let's say we have found a bug and have a solution:
- Create your fork of
isard/isardvdi
repository. - Clone your fork.
- Add the upstream remote:
git remote add upstream https://gitlab.com/isard/isardvdi.git
- Make sure you have the latest changes:
git fetch upstream
- Create a new branch:
git switch -c <name> upstream/main`
- Work in this branch.
- Commit your changes (no more than needed) and write a good and descriptive commit message using Conventional Commits rules:
git add -p
git commit
- Make sure you're on the latest
upstream
commit:
git fetch upstream && git rebase upstream/main
- Test your rebased changes.
- Push the branch to your remote:
git push
- Create a Merge Request to the
main
branch of theisard/isardvdi
repository. Please be descriptive in both the title and the description! - Wait for a review the changes to decide if it's ready for a release.
- Make the required changes amenting your commits and push it:
git add -p
git commit
git rebase -i upstream/main
git push
We need this push to only see your changes in gitlab interface.
- If other work is added to main development, please, rebase your work, go to 8.
- Done! Thanks! The GitLab CI will create the release, the tag and publish de Docker images! :)