-
Notifications
You must be signed in to change notification settings - Fork 1
/
action.yml
77 lines (71 loc) · 2.56 KB
/
action.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
name: "ROS Semantic Release Action"
description: "Uses semantic release to build and release ros packages as debians"
author: "Greenroom Robotics"
branding:
icon: "package"
color: "gray-dark"
inputs:
token:
description: "The Github token with access to the packages repo and release api"
required: true
changelog:
description: "Should we generate and commit back a changelog?"
default: "true"
github_release:
description: "Should we create a github release?"
default: "true"
public:
description: "Should the packages be public?"
default: "false"
package:
description: "The package to release. If not set, all packages in the 'package_dir' will be released."
default: ""
package_dir:
description: "The directory to release packages from. If not set, the root of the repo will be used."
default: "./"
arch:
description: "The architecture to build for (eg amd64 or arm64)."
default: "amd64"
ros_distro:
description: "The version of ros2 to build for (eg galactic or humble). This will be passed into the Dockerfile as $ROS_DISTRO."
default: "iron"
runs:
using: "composite"
steps:
- name: Collect Workflow Telemetry
uses: Greenroom-Robotics/workflow-telemetry-action@main
- name: Setup Node.js
uses: actions/setup-node@v2
- name: Setup Python
shell: bash
run: |
# We are not using the @actions/setup-python action because it does not work on arm64
sudo apt-get install -y software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install -y python3 python3-pip
curl -sSL https://install.python-poetry.org | python3
- name: Install platform_cli
shell: bash
run: pip install git+https://github.com/Greenroom-Robotics/platform_cli.git@main
- name: Platform Release Setup
shell: bash
run: |
platform release setup \
--package=${{ inputs.package }} \
--package-dir=${{ inputs.package_dir }}
- name: Platform Release Create
env:
API_TOKEN_GITHUB: ${{ inputs.token }}
GITHUB_TOKEN: ${{ inputs.token }}
GITHUB_USER: ${{ github.actor }}
shell: bash
run: |
platform release create \
--changelog=${{ inputs.changelog }} \
--public=${{ inputs.public }} \
--package=${{ inputs.package }} \
--package-dir=${{ inputs.package_dir }} \
--arch=${{ inputs.arch }} \
--ros-distro=${{ inputs.ros_distro }} \
--github-release=${{ inputs.github_release }}