Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bloomするためのスクリプトが欲しい #203

Closed
k-okada opened this issue Feb 8, 2014 · 19 comments
Closed

bloomするためのスクリプトが欲しい #203

k-okada opened this issue Feb 8, 2014 · 19 comments

Comments

@k-okada
Copy link
Member

k-okada commented Feb 8, 2014

From kei.ok...@gmail.com on September 16, 2013 12:12:23

徐々にbloomをつかってdeb化が可能になってきています.
いまはtrunkをtagにコピーしてbloomをかけていますが,
これらの手続きを自動で行うスクリプトが欲しいです.
とくに前回作ったtagから今つくろうとしているtagまでの間に
どういうdiffがあったかわかると便利です.

Original issue: http://code.google.com/p/rtm-ros-robotics/issues/detail?id=205

@k-okada
Copy link
Member Author

k-okada commented Feb 8, 2014

From gm130s on September 16, 2013 08:27:31

すみません,この件以前依頼頂いていて未だ作っていません.

ただ,あくまで ROS release ですが,こういう話があります: http://answers.ros.org/question/76150/when-to-release-build-increment/?answer=76162#post-id-76162 dev repository に変更があった際には,基本的に最低でも MICRO version を上げることになってるので,これを守れば "同じ tag 番号だが違う内容" という状況は起こらないはず.

ビルドを通すための期間は,いちいち MICRO を上げるのは気が引けたし,先方も解ってて欲しい気がしますが,ビルドは通ったので,このルールを守っても良い気がしますが,どうでしょう.

@k-okada
Copy link
Member Author

k-okada commented Feb 8, 2014

From kei.ok...@gmail.com on September 17, 2013 01:57:42

はい.それでいいですが,たとえばrtmros_commonというタグをつけようとした時に,
前につけたところからどれだけ変更があるのかを調べて,それをchenge logに反映して
タグをつけて,リリースするという作業がありますね.それを支援するスクリプトがあると
いいかなと思います.

rtm-ros-robotics-tag-update rtmros_common
みたいにすると,パッケージの変更のlog一覧が見えるので,
それをまとめてChangeLogに書きこんで,
rtm-ros-robotics-tag-tag rtmros_common
とするとタグのコピーをつくって,
rtm-ros-robotics-tag-release rtmros_common
とすると,bloomでリリースする,
みたいなイメージです.

@k-okada
Copy link
Member Author

k-okada commented Feb 8, 2014

From gm130s on September 17, 2013 02:55:51

なるほど,

1. changelog --> 2. add tag --> 3. release by bloom 

をできるだけ自動化したいということですね.確かに.

1 の changelog は catkin_generate_changelog (と catkin_tag_changelog) を使いたいと思っていました.svn レポを未だサポートしてないのでチケットを開きました (がなんとなく私が patch を書く方向になっています.半日仕事くらい). ros-infrastructure/catkin_pkg#62 2 の add tag は,catkin_prepare_release でやってくれませんでしたっけ?いや,これはローカルでバージョンを上げる (package.xml,git の tag) だけっぽいですね.svn もやってくれるようにするのはそもそもアリなのか,訊いてみます.OK そうであれば catkin_prepare_release にパッチを充てるのが理想的と思いますがどうですか?

ということで,仮に上記案で OK の場合,実行するコマンド的には:

1. catkin_generate_changelog --> 2. catkin_prepare_release --> 3. bloom 

と数は減りませんがそれぞれの工程内が自動化されます.
1 と 2 を一緒にするスクリプトがあってもいい気がしますが ROS 側で一緒にしてないので何か理由があるのかも知れません.

@k-okada
Copy link
Member Author

k-okada commented Feb 8, 2014

From gm130s on September 17, 2013 03:40:41

  1. catkin_prepare_release に関し質問を開きました. http://answers.ros.org/question/80101/to-tag-svn-project-during-ros-release-steps-more-easily/

@k-okada
Copy link
Member Author

k-okada commented Feb 8, 2014

From kei.ok...@gmail.com on September 17, 2013 05:34:44

はい.ROS側のツールでやってくれて,向こうに取り込んでもらえるならそれがベストです.
僕がいつも言っているのは,とにかくソースを手元に残さず,作ったものはどこかにおいて目の前からなくなるようにしよう,です.

@k-okada
Copy link
Member Author

k-okada commented Feb 8, 2014

From gm130s on September 22, 2013 21:13:34

catkin_prepare_release はバージョンを increment してくれるツールで,(解答も付きましたが http://answers.ros.org/question/80101/to-tag-svn-project-during-ros-release-steps-more-easily/?answer=80216#post-id-80216 ) 既に svn レポ自体はサポートされてました.

しかしここにあるように,trunk より深い階層を作ってる svn レポはサポート外... http://answers.ros.org/question/70054/catkin_prepare_release-fails-with-svn-upstream/ trunk 直下にプロジェクトを置かないのってそんなに普通じゃないんでしょうか..

@k-okada
Copy link
Member Author

k-okada commented Feb 8, 2014

From kei.ok...@gmail.com on September 22, 2013 22:46:55

いわゆる伝統的なxx-ros-pkgスタイルだとtrunkの以下にいろいろなディレクトリが出来ていると思うんですが,,,コアなツールやシステムを作っている人は実際のユーザまでは見えていないから,それだと結構困る人いると思うよ,というやり取りを通じていい所に落ち着かせるしか無いですね.

ソース見ていないから適当ですが以下のようになるので,「リポジトリのルート」/tags/xxx-x.x.x みたいにつければいい気がするんですがね?どこでエラーをだしているんでしょうか.

k-okada@kokada-t430s:~/ros/groovy/rtm-ros-robotics/openrtm_common$ svn info
パス: .
URL: https://rtm-ros-robotics.googlecode.com/svn/trunk/openrtm_common リポジトリのルート: https://rtm-ros-robotics.googlecode.com/svn

@k-okada
Copy link
Member Author

k-okada commented Feb 8, 2014

From gm130s on September 23, 2013 10:26:38

catkin_prepare_release に関しては,質問してみました. ros/catkin#513 # patch 書くよ,とシタテに出ましたが出来れば書いて欲しい...catkin_pkg 等複数のパッケージに手を入れねばならなそうな気が.

どこでエラーをだしているんでしょうか.

URL の suffix を見て trunk/tag/branch じゃなかったらダメ,らしいです. http://goo.gl/PFYfIC

Owner: gm130s
Cc: kei.ok...@gmail.com

@k-okada
Copy link
Member Author

k-okada commented Feb 8, 2014

From gm130s on September 24, 2013 03:24:26

catkin_prepare_release の変更案に返信ありました. ros/catkin#513 (comment) 反対ではないらしく,patch 送って ok, とのことなので,書きます.

いわゆる伝統的なxx-ros-pkgスタイルだとtrunkの以下にいろいろなディレクトリが出来ていると思うんですが,,,

いま見てみましたが,確かに.少なくとも以下は trunk 配下に package いっぱいありますね. https://code.ros.org/svn/ros/stacks/multimaster_experimental/trunk/ https://svn.code.sf.net/p/cmu-ros-pkg/code/trunk/ https://svn.code.sf.net/p/tum-ros-pkg/code/perception/ http://alufr-ros-pkg.googlecode.com/svn/trunk > コアなツールやシステムを作っている人は実際のユーザまでは見えていないから,

上の github のスレの人は特にそ (以下略)

@k-okada
Copy link
Member Author

k-okada commented Feb 8, 2014

From kei.ok...@gmail.com on October 01, 2013 22:58:00

こんなのはどうでしょうか?

119以下は最後ではなく途中にtags/trunk/branchなどがあればそれを見ておくというものです.
302以降はちゃんとした(向こうが想定している)ディレクトリ構造でも今は動いていない気がするので,そのためのパッチになります.

k-okada@kokada-t430s:/opt/ros/groovy/bin$ diff catkin_prepare_release.org catkin_prepare_release
102a103,104

print(fmt('@{gf}The following commands will be executed to commit package.xml file'))
print(fmt('  @{bf}@{boldon}%s@{boldoff}' % ' '.join(cmd)))

119,124c121,126
< if svn_url.endswith(TRUNK):
< base_url = svn_url[:-len(TRUNK)]
< elif os.path.dirname(svn_url).endswith(BRANCHES):
< base_url = os.path.dirname(svn_url)[:-len(BRANCHES)]
< elif os.path.dirname(svn_url).endswith(TAGS):

< base_url = os.path.dirname(svn_url)[:-len(TAGS)]

    if svn_url.find(TRUNK) > 0 :
        base_url = svn_url[:svn_url.find(TRUNK)]
    elif os.path.dirname(svn_url).find(BRANCHES) > 0 :
        base_url = os.path.dirname(svn_url)[:os.path.dirname(svn_url).find(BRANCHES)]
    elif os.path.dirname(svn_url).find(TAGS) > 0:
        base_url = os.path.dirname(svn_url)[:os.path.dirname(svn_url)(TAGS)]

128a131,132
print(fmt('@{gf}The following commands will be executed to commit the changes and tag the new version:'))
print(fmt(' @{bf}@{boldon}%s@{boldoff}' % ' '.join(cmd)))
302,307c306,308
< commands = []
< commands.append(commit_files(base_path, vcs_type, packages, missing_changelogs_but_forthcoming, new_version, dry_run=True))
< commands.append(tag_repository(base_path, vcs_type, tag_name, dry_run=True))
< print(fmt('@{gf}The following commands will be executed to commit the changes and tag the new version:'))
< for cmd in commands:

< print(fmt(' @{bf}@{boldon}%s@{boldoff}' % ' '.join(cmd)))

    commit_files(base_path, vcs_type, packages, missing_changelogs_but_forthcoming, new_version, dry_run=True)
    tag_repository(base_path, vcs_type, tag_name, dry_run=True)

@k-okada
Copy link
Member Author

k-okada commented Feb 8, 2014

From kei.ok...@gmail.com on October 02, 2013 04:59:24

ros/catkin#522 してみました.

@k-okada
Copy link
Member Author

k-okada commented Feb 8, 2014

From gm130s on October 04, 2013 03:45:34

ros/catkin#527ros/catkin#513 を fix してますかね?今から手元でも試してみますが.

@k-okada
Copy link
Member Author

k-okada commented Feb 8, 2014

From kei.ok...@gmail.com on October 04, 2013 03:51:20

はい。治っているはずです。

@k-okada
Copy link
Member Author

k-okada commented Feb 8, 2014

From gm130s on October 04, 2013 05:45:22

うまくいきました.ハイフンが入らないのでパッチ出し中です. ros/catkin#528 あとは catkin_generate_changelog を svn 対応します.

@k-okada
Copy link
Member Author

k-okada commented Feb 8, 2014

From kei.ok...@gmail.com on October 04, 2013 05:59:53

なるほど、-tハイフンかマイナスをつけろといことかと思っていましたが、自動でつけてくれるほうがいいですね。+1とかしたらいいんでしょうか?

@k-okada
Copy link
Member Author

k-okada commented Feb 8, 2014

From kei.ok...@gmail.com on October 04, 2013 06:02:28

  • -tハイフン
    +. -tで書いたタグの中にハイフン

@k-okada
Copy link
Member Author

k-okada commented Feb 8, 2014

From gm130s on October 04, 2013 06:31:07

そうですね,OSRF からも何か言ってくると思うので,意見は PR にコメントして下されば.

@k-okada
Copy link
Member Author

k-okada commented Feb 8, 2014

From gm130s on January 20, 2014 21:18:13

元々のこのチケットの要望は,連続する二つの tag 間で changelog を出力したい,というところかなと思います.

catkin_generate_changelog という便利コマンドがありますが,svn 未対応で,今後もサポートの予定はないようです.また,svn レポジトリは trunk 以下に複数 package を置くのは,catkin では推奨されないようです. ros/catkin#556 (comment) 一つのオプションは,ROS にリリースするパッケージは github に移すことかと.色々メリットは大きいですが[1].例えば手始めに rtmros_{ common, hironx } を移行するのはどうでしょうか.

[1] http://code.google.com/p/rtm-ros-robotics/issues/detail?id=290

Status: Started
Owner: iisaac.s...@gmail.com
Labels: -Type-Defect Type-Enhancement

@k-okada
Copy link
Member Author

k-okada commented Mar 19, 2014

bloom-release did great job!

@k-okada k-okada closed this as completed Mar 19, 2014
kyawawa pushed a commit to kyawawa/rtmros_common that referenced this issue Jan 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant