The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)


Nemo/Development

From Mer Wiki
< Nemo(Difference between revisions)
Jump to: navigation, search
(Setting up a webhook to github)
(With tar_git service)
Line 17: Line 17:
 
Changelogs are automatically generated from git commit messages, when ever git commit contains line that contains the following format
 
Changelogs are automatically generated from git commit messages, when ever git commit contains line that contains the following format
 
  [sample text] Longer sample text
 
  [sample text] Longer sample text
it is added automatically to the next changelog entry when new version is tagged.  
+
it is added automatically to the next changelog entry when new version is tagged. '''NOTE:''' Also should be noted that there ''MUST'' be at least one commit between each tag that contains a line shown above so that the changelog will be generated properly.
  
 
'''NOTE:''' If you have existing changelog that isn't already in proper format in git you need to add the old .changes file to the rpm/ directory. This will be is used as a base of the changelog generation and automated changelogs are appended to that. Should be noted that this changes file should not be updated after adding it to the git tree.
 
'''NOTE:''' If you have existing changelog that isn't already in proper format in git you need to add the old .changes file to the rpm/ directory. This will be is used as a base of the changelog generation and automated changelogs are appended to that. Should be noted that this changes file should not be updated after adding it to the git tree.

Revision as of 07:50, 8 April 2013

Contents

Automated Packaging from git

Setting up a webhook to github

Open the git tree you have. Go to Settings->Service Hooks->WebHook URLs and enter https://webhook.merproject.org/webhook/ to the URL field. Click "Update Settings" and "Test Hook".

After clicking "Test Hook" the webhooks admin interface will show to the admins that you have active git tree. Now contact on the admins Sage or w00t at #nemomobile IRC channel and they will help you to setup the rest of the webhook process. Here the admin asks you what will be the package name and the target obs project where it should go and saves the information to the webhook admin interface. After this you can check the that the information is valid from https://webhook.merproject.org/webhook/

With tar_git service

With tar_git service packaging information is carried on the same git branch with the code in rpm/ subdirectory. This directory can contain any files which all are exported to packaging in OBS. Usually the content is just plain spec file:

rpm/
  example.spec

If more than one .spec, .yaml or .changes is present the one that matches to the "Package" in webhooks will be taken. This allows one to create multiple packages with same source and different .spec file.

Changelogs are automatically generated from git commit messages, when ever git commit contains line that contains the following format

[sample text] Longer sample text

it is added automatically to the next changelog entry when new version is tagged. NOTE: Also should be noted that there MUST be at least one commit between each tag that contains a line shown above so that the changelog will be generated properly.

NOTE: If you have existing changelog that isn't already in proper format in git you need to add the old .changes file to the rpm/ directory. This will be is used as a base of the changelog generation and automated changelogs are appended to that. Should be noted that this changes file should not be updated after adding it to the git tree.

When ever you do tag on the branch enabled with the webhook, it will automatically launch the tar_git service and the new sources will be downloaded and built on the target project.

To follow the behaviour of your webhooks you can join to #mer-boss IRC channel @ Freenode. Here is couple of examples of those messages:

< Merbot`> Tag(s) by Developer X in master branch of https://github.com/nemomobile/nemo-qml-plugins.git, which will trigger build in project nemo:devel:mw package nemo-qml-plugins (https://build.merproject.org//package/show?package=nemo-qml-plugins&project=nemo:devel:mw)
< Merbot`> 1 commit(s) pushed by Developer Y to master branch of https://github.com/tswindell/telepathy-ring.git

If you tagged a package you can click the link and check that everything is ok.

FAQ

Q: I removed a tag remotely and pushed it again, but this didn't trigger the webhook at github?
A: Retag locally and then push again.

With git_pkg service

TODO


Other stuff

This section is a bit of a guide about how to perform unified development on the software that we (in Nemo) write and maintain.

Personal tools