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)
Reviewing merge requests not marked as Draft is a priority task to unblock others work.
Tip: There is a merge request icon on top right menu of gitlab with the option "Review requests for you".
Tip: You can add draft:=no
filter to merge request list.
Please, review priority merge requests first.
Tip: Merge request list can be sorted by priority.
Please mark merge request as Draft if you find something to do by author.
- Find branch name:
Request to merge user_name:branch_name into main
- Crop name to 63 characters and change non alfanumeric characters by
-
. cp isardvdi.cfg.example isardvdi.branch-name.cfg
echo DOCKER_IMAGE_TAG=branch-name >> isardvdi.branch-name.cfg
./build.sh
docker-compose -f docker-compose.branch-name.yml up -d
To get things done the priority is to deal with suggestions and questions of your merge requests. Mark the merge request as ready to get another review.
Tip: There is a merge request icon on top right menu of gitlab that points to merge request list that are assigned to you.
Please, work on priority merge resquests first.
Tip: Merge request list can be sorted by priority.
Please, select priority issues first.
Tip: Issue list can be sorted by priority.
Please, work on an issue assigned to you. Other people should not work on issues assigned to you. If you cannot work on that issues unassign yourself and try to assign it to another person.
If you have no assigned issues, please work on issues assigned to nobody.
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! :)