Skip to content

Developing for VerCors

Lukas Armborst edited this page Oct 9, 2024 · 8 revisions

In Summer 2024, Pieter wrote this developer's guide: https://pieter-bos.github.io/vercors-doc/

It provides some useful background on the setup of the project, and how to do certain tasks.

Workflow

Below you can find a description of what a typical workflow looks like.

  1. Determine what you want to fix.
  2. If there is an issue for what you want to fix, assign yourself to the issue. This can be done by navigating to the specific page of the issue. Then on the right-hand side there is an "Assignees" header. Beneath this header click on "assign yourself".
  3. Ask for permissions to push to the main VerCors repository. We prefer to keep an eye on evolving development by asking contributors to work in branches of the main repository. Alternatively, you can work in your own fork (but e.g. continuous integration will not work).
  4. Navigate to the VerCors project on your computer in your terminal.
  5. When you're inside the vercors directory, create a new branch by executing the following command: git branch branch_name. Replace branch_name by the name for your branch. This name can reflect what you will fix. For example if you are going to fix issue 1, then you can name the branch "issue1". Or if you add support for automatic generation of invariants, then you can name the branch "automaticInvariants".
  6. Then switch to the new branch using the command git checkout branch_name.
  7. You can now start working on your problem!
  8. When you are done with your fix, commit and push your changed files to the branch. To push to your new branch you can use the following command:git push origin branch_name.
  9. Navigate to the main GitHub page of VerCors (https://github.com/utwente-fmt/vercors/).
  10. Create a new pull request (see also: https://help.github.com/articles/creating-a-pull-request-from-a-fork/).
  11. GitHub will run the tests, check that there are no unresolved comments on the pull request, and verify the tests have run with the most recent upstream changes.
  12. As soon as this pull request has been reviewed by at least one person, and is accepted, then your fix can be merged into the master branch. Congratulations you're done with this PR (Pull Request)!
Clone this wiki locally