Skip to content

Release Panther project #27

Release Panther project

Release Panther project #27

---
name: Release Panther project
on:
workflow_dispatch:
inputs:
version:
description: Release version, must match release candidate version. IMPORTANT - required format `X.X.X`, eg `2.0.1`.
required: true
date:
description: Release date stamp, must match release candidate date. IMPORTANT - required format `YYYYMMDD`, eg `20240430`.
required: true
release_name:
description: Name of the release to be created. Version in the first place is recommended (e.g. `2.0.0-alpha`).
required: true
automatic_mode:
type: boolean
default: false
description: Automatically merge PRs, create releases and build images.
prerelease:
type: boolean
default: false
description: Mark the release as a prerelease.
env:
RC_BRANCH_NAME: ${{ github.event.inputs.version }}-${{ github.event.inputs.date }}
MAIN_BRANCH: ros2
jobs:
release_panther_msgs:
name: Release panther_msgs repository
runs-on: ubuntu-22.04
steps:
- name: Trigger repository release workflow
uses: convictional/[email protected]
with:
owner: husarion
repo: panther_msgs
github_token: ${{ secrets.GH_PAT }}
workflow_file_name: release-repository.yaml
ref: ros2-handle-boolean-args
wait_interval: 10
client_payload: |
{
"target_branch": "${{ env.RC_BRANCH_NAME }}",
"version": "${{ github.event.inputs.version }}",
"release_name": "${{ github.event.inputs.release_name }}",
"automatic_mode": "${{ github.event.inputs.automatic_mode }}",
"prerelease": "${{ github.event.inputs.prerelease }}"
}
# release_panther_ros:
# name: Release panther_ros repository
# needs:
# - release_panther_msgs
# runs-on: ubuntu-22.04
# steps:
# - name: Trigger panther_ros release workflow
# uses: convictional/[email protected]
# with:
# owner: husarion
# repo: panther_ros
# github_token: ${{ secrets.GITHUB_TOKEN }} # Use the default GITHUB_TOKEN for local repository
# workflow_file_name: release-repository.yaml
# ref: ${{ env.RC_BRANCH_NAME }}
# wait_interval: 10
# client_payload: |
# {
# "target_branch": "${{ env.RC_BRANCH_NAME }}",
# "version": "${{ github.event.inputs.version }}",
# "release_name": "${{ github.event.inputs.release_name }}",
# "automatic_mode": "${{ github.event.inputs.automatic_mode }}",
# "prerelease": "${{ github.event.inputs.prerelease }}"
# }
#
# release_panther_docker:
# name: Release panther-docker repository
# needs:
# - release_panther_ros
# runs-on: ubuntu-22.04
# steps:
# - name: Trigger repository release workflow
# uses: convictional/[email protected]
# with:
# owner: husarion
# repo: panther-docker
# github_token: ${{ secrets.GH_PAT }}
# workflow_file_name: release-repository.yaml
# ref: ${{ env.RC_BRANCH_NAME }}
# wait_interval: 10
# client_payload: |
# {
# "target_branch": "${{ env.RC_BRANCH_NAME }}",
# "version": "${{ github.event.inputs.version }}",
# "date": "${{ github.event.inputs.date }}",
# "release_name": "${{ github.event.inputs.release_name }}",
# "automatic_mode": "${{ github.event.inputs.automatic_mode }}",
# "prerelease": "${{ github.event.inputs.prerelease }}"
# }
#
# build_and_push_docker_images:
# name: Build panther docker images
# if: ${{ github.event.inputs.automatic_mode == true }}
# needs:
# - release_panther_docker
# runs-on: ubuntu-22.04
# steps:
# - name: Trigger repository build workflow
# uses: convictional/[email protected]
# with:
# owner: husarion
# repo: panther-docker
# github_token: ${{ secrets.GH_PAT }}
# workflow_file_name: ros-docker-image.yaml
# ref: ${{ env.MAIN_BRANCH }}
# wait_interval: 10
# client_payload: |
# {
# "build_type": "stable",
# "target_distro": "humble",
# "target_release": "${{ github.event.inputs.version }}",
# "target_date": "${{ github.event.inputs.date }}"
# }
#
# release_panther_rpi_os_image:
# name: Release panther-rpi-os-img repository
# if: ${{ github.event.inputs.automatic_mode == true }}
# needs:
# - release_panther_docker
# runs-on: ubuntu-22.04
# steps:
# - name: Trigger repository release workflow
# uses: convictional/[email protected]
# with:
# owner: husarion
# repo: panther-rpi-os-img
# github_token: ${{ secrets.GH_PAT }}
# workflow_file_name: release-repository.yaml
# ref: ${{ env.RC_BRANCH_NAME }}
# wait_interval: 10
# client_payload: |
# {
# "target_branch": "${{ env.RC_BRANCH_NAME }}",
# "version": "${{ github.event.inputs.version }}",
# "release_name": "${{ github.event.inputs.release_name }}",
# "automatic_mode": "${{ github.event.inputs.automatic_mode }}",
# "prerelease": "${{ github.event.inputs.prerelease }}"
# }
#
# build_and_publish_rpi_image:
# name: Build panther system image
# if: ${{ github.event.inputs.automatic_mode == true }}
# needs:
# - release_panther_rpi_os_image
# runs-on: ubuntu-22.04
# steps:
# - name: Trigger repository build workflow
# uses: convictional/[email protected]
# with:
# owner: husarion
# repo: panther-rpi-os-img
# github_token: ${{ secrets.GH_PAT }}
# workflow_file_name: build_and_deploy_image.yaml
# ref: ${{ env.MAIN_BRANCH }}
# wait_interval: 10
# client_payload: |
# {
# "dev_image": "false",
# "panther_codebase_version": "${{ github.event.inputs.version }}",
# "image_tag": "${{ github.event.inputs.version }}",
# }
#