Skip to content

Greenroom-Robotics/ros_semantic_release_action

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ROS Semantic Release action

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.

Usage

Add a release.yml

There are 2 ways to use this action:

Tag & Release using QEMU:

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

Tag & Release using native runners:

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

About

A github action which builds ros modules into debians

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published