Skip to content

Commit

Permalink
Generate deb release table with python script
Browse files Browse the repository at this point in the history
  • Loading branch information
wkentaro committed Nov 28, 2016
1 parent ade0bb6 commit e2d3053
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 4 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ See [readthedocs](http://jsk-common.readthedocs.org/en/latest/) for document.
Deb Build Status
------------

| Package | Indigo (Saucy) | Indigo (Trusty) | Jade (Trusty) | Jade (Vivid) |
|--------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| jsk_common (32-bit) | [![Build Status](http://build.ros.org/job/Ibin_uS32__jsk_common__ubuntu_saucy_i386__binary/badge/icon)](http://build.ros.org/job/Ibin_uS32__jsk_common__ubuntu_saucy_i386__binary/) | [![Build Status](http://build.ros.org/job/Ibin_uT32__jsk_common__ubuntu_trusty_i386__binary/badge/icon)](http://build.ros.org/job/Ibin_uT32__jsk_common__ubuntu_trusty_i386__binary/) | [![Build Status](http://build.ros.org/job/Jbin_uT32__jsk_common__ubuntu_trusty_i386__binary/badge/icon)](http://build.ros.org/job/Jbin_uT32__jsk_common__ubuntu_trusty_i386__binary/) | [![Build Status](http://build.ros.org/job/Jbin_uV32__jsk_common__ubuntu_vivid_i386__binary/badge/icon)](http://build.ros.org/job/Jbin_uV32__jsk_common__ubuntu_vivid_i386__binary/) |
| jsk_common (64-bit) | [![Build Status](http://build.ros.org/job/Ibin_uS64__jsk_common__ubuntu_saucy_amd64__binary/badge/icon)](http://build.ros.org/job/Ibin_uS64__jsk_common__ubuntu_saucy_amd64__binary/) | [![Build Status](http://build.ros.org/job/Ibin_uT64__jsk_common__ubuntu_trusty_amd64__binary/badge/icon)](http://build.ros.org/job/Ibin_uT64__jsk_common__ubuntu_trusty_amd64__binary/) | [![Build Status](http://build.ros.org/job/Jbin_uT64__jsk_common__ubuntu_trusty_amd64__binary/badge/icon)](http://build.ros.org/job/Jbin_uT64__jsk_common__ubuntu_trusty_amd64__binary/) | [![Build Status](http://build.ros.org/job/Jbin_uV64__jsk_common__ubuntu_vivid_amd64__binary/badge/icon)](http://build.ros.org/job/Jbin_uV64__jsk_common__ubuntu_vivid_amd64__binary/) |
| Package | Indigo (Saucy) | Indigo (Trusty) | Jade (Trusty) | Jade (Vivid) | Kinetic (Wily) | Kinetic (Xenial) |
|:--------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| jsk_common (32-bit) | [![Build Status](http://build.ros.org/job/Ibin_uS32__jsk_common__ubuntu_saucy_i386__binary/badge/icon)](http://build.ros.org/job/Ibin_uS32__jsk_common__ubuntu_saucy_i386__binary) | [![Build Status](http://build.ros.org/job/Ibin_uT32__jsk_common__ubuntu_trusty_i386__binary/badge/icon)](http://build.ros.org/job/Ibin_uT32__jsk_common__ubuntu_trusty_i386__binary) | [![Build Status](http://build.ros.org/job/Jbin_uT32__jsk_common__ubuntu_trusty_i386__binary/badge/icon)](http://build.ros.org/job/Jbin_uT32__jsk_common__ubuntu_trusty_i386__binary) | [![Build Status](http://build.ros.org/job/Jbin_uV32__jsk_common__ubuntu_vivid_i386__binary/badge/icon)](http://build.ros.org/job/Jbin_uV32__jsk_common__ubuntu_vivid_i386__binary) | [![Build Status](http://build.ros.org/job/Kbin_uW32__jsk_common__ubuntu_wily_i386__binary/badge/icon)](http://build.ros.org/job/Kbin_uW32__jsk_common__ubuntu_wily_i386__binary) | [![Build Status](http://build.ros.org/job/Kbin_uX32__jsk_common__ubuntu_xenial_i386__binary/badge/icon)](http://build.ros.org/job/Kbin_uX32__jsk_common__ubuntu_xenial_i386__binary) |
| jsk_common (64-bit) | [![Build Status](http://build.ros.org/job/Ibin_uS64__jsk_common__ubuntu_saucy_amd64__binary/badge/icon)](http://build.ros.org/job/Ibin_uS64__jsk_common__ubuntu_saucy_amd64__binary) | [![Build Status](http://build.ros.org/job/Ibin_uT64__jsk_common__ubuntu_trusty_amd64__binary/badge/icon)](http://build.ros.org/job/Ibin_uT64__jsk_common__ubuntu_trusty_amd64__binary) | [![Build Status](http://build.ros.org/job/Jbin_uT64__jsk_common__ubuntu_trusty_amd64__binary/badge/icon)](http://build.ros.org/job/Jbin_uT64__jsk_common__ubuntu_trusty_amd64__binary) | [![Build Status](http://build.ros.org/job/Jbin_uV64__jsk_common__ubuntu_vivid_amd64__binary/badge/icon)](http://build.ros.org/job/Jbin_uV64__jsk_common__ubuntu_vivid_amd64__binary) | [![Build Status](http://build.ros.org/job/Kbin_uW64__jsk_common__ubuntu_wily_amd64__binary/badge/icon)](http://build.ros.org/job/Kbin_uW64__jsk_common__ubuntu_wily_amd64__binary) | [![Build Status](http://build.ros.org/job/Kbin_uX64__jsk_common__ubuntu_xenial_amd64__binary/badge/icon)](http://build.ros.org/job/Kbin_uX64__jsk_common__ubuntu_xenial_amd64__binary) |


Install
Expand Down
61 changes: 61 additions & 0 deletions jsk_tools/src/generate_deb_status_table.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
#!/usr/bin/env python

import argparse
import collections

import tabulate


def generate_deb_status_table(package, rosdistro_from, rosdistro_to):
DISTROS = collections.OrderedDict()
DISTROS['indigo'] = ['saucy', 'trusty']
DISTROS['jade'] = ['trusty', 'vivid']
DISTROS['kinetic'] = ['wily', 'xenial']

table = []
for bit, arch in zip([32, 64], ['i386', 'amd64']):
if not table: # first row
headers = ['Package']
row = ['{} ({}-bit)'.format(package, bit)]
for distro, os_list in DISTROS.items():
if not (ord(rosdistro_from) <= ord(distro[0]) <=
ord(rosdistro_to)):
continue

for os in os_list:
if not table: # first row
headers.append(
'{} ({})'.format(distro.capitalize(), os.capitalize()))

url = 'http://build.ros.org/job/{prefix_ros}bin_u{prefix_os}{bit}__{package}__ubuntu_{os}_{arch}__binary' # NOQA
url = url.format(
bit=bit,
arch=arch,
prefix_os=os[0].upper(),
prefix_ros=distro[0].upper(),
package=package,
os=os,
)
template_md = '[![Build Status]({url}/badge/icon)]({url})'
row.append(template_md.format(url=url))
table.append(row)

print(tabulate.tabulate(table, headers=headers, tablefmt='pipe'))


def main():
parser = argparse.ArgumentParser()
parser.add_argument('package')
parser.add_argument('-f', '--rosdistro-from', default='i')
parser.add_argument('-t', '--rosdistro-to', default='k')
args = parser.parse_args()

package = args.package
rosdistro_from = args.rosdistro_from
rosdistro_to = args.rosdistro_to

generate_deb_status_table(package, rosdistro_from, rosdistro_to)


if __name__ == '__main__':
main()

0 comments on commit e2d3053

Please sign in to comment.