ROS2パッケージをリリースしよう!準備編

ROSのbloomを使ったパッケージリリースについてはネットに素晴らしい有用な記事があるのですが, GitHubの仕様変更やROS2の公式リリースリポジトリ置き場など, 新しい部分については日本語情報が少ないので情報を残しておきます.

準備するもの

パッケージをリリースするには以下のものが必要です.

必要なもの 備考
GitHubアカウント 当然必要
GitHubアクセストーク リリース用ツールに権限を与えるのに使います
リリースしたいROS2リポジトリ これがないと始まらない
リリース用リポジトリ 作り方は2通り

GitHubアカウント,リリースしたいROS2リポジトリは当然あるものとして,残りの2つについて解説します.

GitHubアクセストーク

本来なら,パッケージのリリースではたくさんのGitHub上での操作を人間が手動で行う必要があります.
bloomはそんな大変な作業を人間に変わって自動でやってくれるツールです.
しかし,GitHub上での操作には認証が求められるため,ツールにアクセス権限を付与する必要があります.

また,近年GitHubではパスワードによる認証が禁止されたため,パスワードを求められた際にはアクセストークンを入力する必要があります.

詳しい作成方法はこちらです.

アクセストークン作成ページ : https://github.com/settings/tokens

アクセストークンには「repo」と「workflow」の権限を設定してください.

アクセストークンの設定

リリース用リポジトリ

パッケージをリリースするためにはソースコードが入ったリポジトリとは別に,<パッケージの名前>-release という名前のリリース用のリポジトリが必要です.
リリース用リポジトリの中身はパッケージの内容を基にbloomが勝手に管理するので開発者はリポジトリを作るだけでOKです.

リポジトリの作成場所ですが,自分の場所に作る方法・公式の場所に作る方法の2通りあるのでそれぞれについて説明します.

公式の場所に作る方法

公式のリリースリポジトリの置き場所がこちらです.

github.com

ここにリリースリポジトリを作る手順は以下のとおりです.

  1. issueを立ててリポジトリの追加をお願いする
  2. リポジトリが追加される

手順自体は簡単ですが,メンテナの方の対応を待たなければいけませんので,時間がかかることは理解しておいてください.
急ぎの場合は「自分の場所に作る方法」を検討するのも手です.

issueを立ててリポジトリの追加をお願いする

こちらのリポジトリにIssueを立てて,リポジトリ追加のお願いをしていきます.

github.com

Issueを追加しようとすると,3つのIssueテンプレートが現れるので,「New release team」を選択して次に進みます.

Issueテンプレート

  • チーム名(英小文字とアンダーバーのみ)
  • リリースしたいリポジトリ
  • メンテナの情報

の3つの情報を埋めてIssueを立てられたらメンテナの人がリポジトリを作ってくれるのを待ちます.
Issueをどう書けばいいかわからない場合は過去のIssueを参考にしてみましょう.
例えば,自分が立てたIssueがこれです↓

github.com

大抵,1週間以内にメンテナ欄に追加したユーザーはOrganizationに追加され,チームの追加,空のリリースリポジトリの作成までをros2-gbpのメンテナの方がやってくださいます.

ここまで来たらようやく,リリースリポジトリの準備が終わりです.
最後に作業をやって頂いたメンテナの方への感謝を忘れずに!

OSSでは何事にも感謝!

自分の場所に作る方法

これはROS1のリリース用リポジトリと同じです. 自分で好きなOrganizationなり自分のユーザーディレクトリなりに<パッケージの名前>-releaseという名前の空リポジトリを作るだけです. 気軽にリリースしたい場合や,急ぎのリリースの場合はこちらの方が良いかもしれません.

作成したリリースリポジトリmasterブランチを作る

最近,GitHubではリポジトリを新規作成した時のデフォルトブランチは masterからmainに変わりました. しかし,bloomは古いツールなので,masterをデフォルトブランチとして扱うため,masterブランチの作成が必須です.

準備完了

これでリリースに必要なものは揃いました!
ということで,準備編はここまでです.

あとのリリースの手順は,GitHubのパスワードを求められた時にアクセストークンを入力するところ以外はネットにある日本語情報を参考にすると良いでしょう.
この記事は特に分かりやすくて良いですね!

qiita.com

気が向けば,リリース編も書こうと思いますが,期待しないでください.

参考

アクセストークン周りに関して

wiki.ros.org

公式の場所へのリリースリポジトリ作成に関して

docs.ros.org