This action is used to build and release ROS packages with semantic versioning. It builds both ARM and x86 packages and publishes them to Greenroom's PPA.
Add a release.yml
There are 2 ways to use this action:
name: Tag & Release
on:
workflow_dispatch:
inputs:
package:
type: choice
description: 'If not specified, all packages will be released.'
options:
- ""
- package1 # Update this with a list of ROS packages in your repository. "" Will release all packages.
- package2
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Checkout this repository
uses: actions/checkout@v4
- name: Semantic release
uses: Greenroom-Robotics/ros_semantic_release_action@main
with:
token: ${{ secrets.API_TOKEN_GITHUB }}
package: ${{ github.event.inputs.package }}
public: false # Set to true to publish to public PPA
By default the action will build for both ARM and x86. If you want to build for only one architecture, you can use the arch
input.
name: Tag & Release
on:
workflow_dispatch:
inputs:
package:
type: choice
description: 'If not specified, all packages will be released.'
options:
- ""
- package1 # Update this with a list of ROS packages in your repository. "" Will release all packages.
- package2
jobs:
release_amd:
name: Release AMD
runs-on: buildjet-2vcpu-ubuntu-2204
steps:
- name: Checkout this repository
uses: actions/checkout@v4
- name: Semantic release
uses: Greenroom-Robotics/ros_semantic_release_action@main
with:
token: ${{ secrets.API_TOKEN_GITHUB }}
arch: amd64
public: false
changelog: true
release_arm:
name: Release ARM
runs-on: buildjet-2vcpu-ubuntu-2204-arm
steps:
- name: Checkout this repository
uses: actions/checkout@v4
- name: Semantic release
uses: Greenroom-Robotics/ros_semantic_release_action@main
with:
token: ${{ secrets.API_TOKEN_GITHUB }}
arch: arm64
public: false
changelog: false # Otherwise, the changelog will be generated twice