Skip to content

at-wat/bloom-release-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bloom-release-action

GitHub Action to bloom release the ROS package.

This action requires higher privilege than typical action to push to the release repository and open pull-requests to the index. Use it with special care!

Inputs

ros_distro
ROS distributions to create a release. (required)
github_token_bloom
GitHub personal access token to push to your release repository and rosdistro fork. Use encrypted secrets. (required)
github_user
GitHub login name to push to your rosdistro fork. (required)
git_user
User name of commit author. Defaults to github_user.
git_email
E-mail address of commit author. (required)
repository
Override package repository name.
release_repository_push_url
Override release repository push URL. Must be https.
tag_and_release
Set true to add a tag automatically before releasing. It requires that the source code is checked out.
open_pr
Set true to open PR on ros/rosdistro automatically. (use with care)

Outputs

version
Version of the created release on tag_and_release=true.

Example

Manually tag and release

name: bloom-release
on:
  push:
    tags:
      - '[0-9]+.[0-9]+.[0-9]+'

jobs:
  bloom-release:
    runs-on: ubuntu-latest
    steps:
      - name: bloom release
        uses: at-wat/bloom-release-action@v0
        with:
          ros_distro: kinetic melodic
          github_token_bloom: ${{ secrets.GITHUB_TOKEN_BLOOM }}
          github_user: @@MAINTAINER_LOGIN@@
          git_user: @@MAINTAINER_NAME@@
          git_email: @@MAINTAINER_EMAIL_ADDRESS@@
          release_repository_push_url: https://github.com/${{ github.repository }}-release.git
          # open_pr: true

Test carefully before enabling open_pr.

Automatically tag and release

Use with at-wat/catkin-release-action.

name: bloom-release
on:
  push:
    paths:
      - package.xml
      - '*/package.xml'
    branches:
      - master

jobs:
  bloom-release:
    runs-on: ubuntu-latest
    steps:
      - name: checkout
        uses: actions/checkout@v2
      - name: bloom release
        uses: at-wat/bloom-release-action@v0
        with:
          ros_distro: kinetic melodic
          github_token_bloom: ${{ secrets.GITHUB_TOKEN_BLOOM }}
          github_user: @@MAINTAINER_LOGIN@@
          git_user: @@MAINTAINER_NAME@@
          git_email: @@MAINTAINER_EMAIL_ADDRESS@@
          release_repository_push_url: https://github.com/${{ github.repository }}-release.git
          tag_and_release: true
          # open_pr: true

Test carefully before enabling open_pr.

If you want to create a GitHub Release on the created tag, append following step:

      - name: create release
        uses: actions/create-release@v1
        with:
          tag_name: ${{ steps.bloom_release.outputs.version }}
          release_name: ${{ steps.bloom_release.outputs.version }}
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

See https://github.com/at-wat/mcl_3dl for the working example.