-
Notifications
You must be signed in to change notification settings - Fork 23
Guide for Maintainers
BL Choy edited this page Mar 11, 2021
·
5 revisions
The published content for IWXXM is maintained within this repository.
-
To make a code change, please use a fork of this repository and create a Pull Request from your fork.
-
Never commit changes directly to this repository, especially to the 'master' branch.
-
To ensure that commit history is clean and clear, please ensure that all new branches are rooted at the upstream/master.
- to achieve this with a local repository:
- ensure that your local repository is up to date with the upstream master
git fetch upstream
- checkout a new branch, using upstream/master as the root
git checkout -b <theNameOfYourBranch> upstream/master
- push your changes to your branch
git push origin <theNameOfYourBranch>
- raise a Pull Request for you branch, targeting the master branch of https://github.com/wmo-im/iwxxm
- This Pull Request will automatically trigger a run of the validation tests, testing all the examples against the schemas, and provide a report within the Pull Request ticket.
- ensure that your local repository is up to date with the upstream master
- To achieve this using the github web interface:
- make a set of edits to a file within the https://github.com/wmo-im/iwxxm project, using the github web interface
- in the 'commit' pane at the bottom of the edit page, ensure that you have selected the radio button
Create a new branch for this commit and start a pull request.
- this is not the default, it must be selected
- if you have permission to edit the main repository, you must ensure you do not save changes to the master branch (the default); if you do, a repository maintainer will revert your changes.
- you can make further changes by browsing to your personal fork and selecting the branch linked to your pull request from the grey
Branch: ... ...
selection menu in the upper left area of the main view.
- to achieve this with a local repository:
-
It is good practice, where appropriate, to separate the functional changes from the changes to the examples, putting these into separate commits within the Pull Request.
- If the functional changes commit is pushed to the repository first, then this will run all the validation tests using the functional changes, without updating the examples.
- This can demonstrate, on the ticket, that the previous examples would fail validation based on the new change.
- The changed examples to match the new validation can then be added as a second commit and uploaded to the Pull Request after the tests have run.
- This update action will trigger the test cases to re-run.
- The results can then demonstrate that the updated examples pass the validation tests, completing the Pull Request content.
- If the functional changes commit is pushed to the repository first, then this will run all the validation tests using the functional changes, without updating the examples.
-
The person raising a Pull Request should not be the person who approves and merges the Pull Request.
- At least one review and a positive acceptance is required prior to merging.
- Any task team member has a mandate to review and approve or request changes to a Pull Request.
- Any task team member who has merge rights on the repository has the mandate to merge an approved Pull Request.
- No Pull Request with a request changes flag shall be merged.
- If there are different commits for the functional changes and the corresponding test changes, it is preferable to 'create a merge commit' when completing the merge, to preserve this history.