Skip to content
This repository was archived by the owner on Feb 12, 2022. It is now read-only.

Commit b3829ee

Browse files
committed
2 parents ee320dd + dfd3802 commit b3829ee

File tree

8 files changed

+208
-27
lines changed

8 files changed

+208
-27
lines changed

.github/dependabot.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: github-actions
4+
directory: "/"
5+
schedule:
6+
interval: daily
7+
time: "16:00"
8+
open-pull-requests-limit: 10
9+

.github/workflows/autoapprove.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: Auto approve
2+
3+
on: pull_request
4+
5+
jobs:
6+
# Auto-approve dependabot PRs since this repo requires at least one approving review.
7+
# Dependabot will automatically merge minor version upgrades
8+
# (see .dependabot/config.yml for more info).
9+
auto-approve-dependabot:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: hmarr/[email protected]
13+
if: github.actor == 'dependabot[bot]' || github.actor == 'dependabot-preview[bot]'
14+
with:
15+
github-token: "${{ secrets.GITHUB_TOKEN }}"

.github/workflows/automerge.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Auto merge
2+
3+
on:
4+
pull_request:
5+
branches:
6+
master
7+
pull_request_review:
8+
types:
9+
- submitted
10+
check_suite:
11+
types:
12+
- completed
13+
status: {}
14+
jobs:
15+
# Automatically merge approved and green dependabot PRs.
16+
auto-merge-dependabot:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- uses: pascalgn/[email protected]
20+
if: github.actor == 'dependabot[bot]' || github.actor == 'dependabot-preview[bot]'
21+
env:
22+
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
23+
MERGE_LABELS: "dependencies"
24+
MERGE_METHOD: "squash" # Sqush and merge
25+
MERGE_COMMIT_MESSAGE: "pull-request-title-and-description"
26+
MERGE_RETRY_SLEEP: "1200000" # Retry after 20m, enough time for check suites to run
27+
UPDATE_RETRIES: "6"
28+
UPDATE_METHOD: "rebase" # Rebase PR on base branch
29+
UPDATE_RETRY_SLEEP: "300000"

.github/workflows/build_and_test.yml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
name: Build & Test
2+
on:
3+
pull_request:
4+
push:
5+
branches:
6+
- master
7+
schedule:
8+
# Run every hour. This helps detect flakiness,
9+
# and broken external dependencies.
10+
- cron: '0 * * * *'
11+
12+
jobs:
13+
build_and_test_master:
14+
name: Build and Test Master ROS ${{ matrix.ros_version }} ${{ matrix.ros_distro }}
15+
runs-on: ubuntu-latest
16+
strategy:
17+
fail-fast: false
18+
matrix:
19+
ros_distro: [kinetic, melodic]
20+
include:
21+
- ros_distro: kinetic
22+
ubuntu_distro: xenial
23+
- ros_distro: melodic
24+
ubuntu_distro: bionic
25+
container:
26+
image: rostooling/setup-ros-docker:ubuntu-${{ matrix.ubuntu_distro }}-ros-${{ matrix.ros_distro }}-ros-base-latest
27+
env:
28+
# Needed for the CMakeLists.txt setup
29+
ROS_DISTRO: ${{ matrix.ros_distro }}
30+
ROS_VERSION: 1
31+
steps:
32+
# Needed to access the vcs repos file from the workspace
33+
- name: Checkout source
34+
uses: actions/checkout@v2
35+
- name: Run action-ros-ci to build and test
36+
uses: ros-tooling/[email protected]
37+
with:
38+
target-ros1-distro: ${{ env.ROS_VERSION == '1' && matrix.ros_distro || '' }}
39+
target-ros2-distro: ${{ env.ROS_VERSION == '2' && matrix.ros_distro || '' }}
40+
package-name: tts
41+
vcs-repo-file-url: ''
42+
- name: Upload resulting colcon logs
43+
uses: actions/[email protected]
44+
with:
45+
name: colcon-logs-${{ matrix.ubuntu_distro }}-ros-${{ matrix.ros_distro }}
46+
path: ros_ws/log
47+
log_workflow_status_to_cloudwatch:
48+
runs-on: ubuntu-latest
49+
container:
50+
image: ubuntu:bionic
51+
needs:
52+
- build_and_test_master
53+
# Don't skip if prior steps failed, but don't run on a fork because it won't have access to AWS secrets
54+
if: ${{ always() && ! github.event.repository.fork && ! github.event.pull_request.head.repo.fork }}
55+
steps:
56+
- name: Configure AWS Credentials
57+
uses: aws-actions/configure-aws-credentials@v1
58+
with:
59+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
60+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
61+
aws-region: ${{ secrets.AWS_REGION }}
62+
- uses: ros-tooling/[email protected]
63+
with:
64+
# Checks if any of the jobs have failed.
65+
#
66+
# needs.*.result is returns the list of all success statuses as an
67+
# array, i.e. ['success', 'failure, 'success']
68+
# join() converts the array to a string 'successfailuresuccess'
69+
# contains() checks whether the string contains failure
70+
metric-value: ${{ ! contains(join(needs.*.result, ''), 'failure') && ! contains(join(needs.*.result, ''), 'cancelled') }}
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: Build & Test release-latest
2+
on:
3+
schedule:
4+
# Run every hour. This helps detect flakiness,
5+
# and broken external dependencies.
6+
- cron: '0 * * * *'
7+
8+
jobs:
9+
build_and_test_release_latest:
10+
name: Build and Test Release Latest ROS ${{ matrix.ros_version }} ${{ matrix.ros_distro }}
11+
runs-on: ubuntu-latest
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
ros_distro: [kinetic, melodic]
16+
include:
17+
- ros_distro: kinetic
18+
ubuntu_distro: xenial
19+
- ros_distro: melodic
20+
ubuntu_distro: bionic
21+
container:
22+
image: rostooling/setup-ros-docker:ubuntu-${{ matrix.ubuntu_distro }}-ros-${{ matrix.ros_distro }}-ros-base-latest
23+
env:
24+
# Needed for the CMakeLists.txt setup
25+
ROS_DISTRO: ${{ matrix.ros_distro }}
26+
ROS_VERSION: 1
27+
steps:
28+
# Needed to access the vcs repos file from the workspace
29+
- name: Checkout source
30+
uses: actions/checkout@v2
31+
- name: Run action-ros-ci to build and test
32+
uses: ros-tooling/[email protected]
33+
with:
34+
target-ros1-distro: ${{ env.ROS_VERSION == '1' && matrix.ros_distro || '' }}
35+
target-ros2-distro: ${{ env.ROS_VERSION == '2' && matrix.ros_distro || '' }}
36+
package-name: tts
37+
# schedule runs against the default branch (master), so specify release-latest via repos file
38+
vcs-repo-file-url: "${{ github.workspace }}/.github/workflows/release_latest.repos"
39+
- name: Upload resulting colcon logs
40+
uses: actions/[email protected]
41+
with:
42+
name: colcon-logs-${{ matrix.ubuntu_distro }}-ros-${{ matrix.ros_distro }}
43+
path: ros_ws/log
44+
log_workflow_status_to_cloudwatch:
45+
runs-on: ubuntu-latest
46+
container:
47+
image: ubuntu:bionic
48+
needs:
49+
- build_and_test_release_latest
50+
# Don't skip if prior steps failed, but don't run on a fork because it won't have access to AWS secrets
51+
if: ${{ always() && ! github.event.repository.fork && ! github.event.pull_request.head.repo.fork }}
52+
steps:
53+
- name: Configure AWS Credentials
54+
uses: aws-actions/configure-aws-credentials@v1
55+
with:
56+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
57+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
58+
aws-region: ${{ secrets.AWS_REGION }}
59+
- uses: ros-tooling/[email protected]
60+
with:
61+
metric-dimensions: >-
62+
[
63+
{ "Name": "github.event_name", "Value": "${{ github.event_name }}" },
64+
{ "Name": "github.ref", "Value": "release-latest" },
65+
{ "Name": "github.repository", "Value": "${{ github.repository }}" }
66+
]
67+
# Checks if any of the jobs have failed.
68+
#
69+
# needs.*.result is returns the list of all success statuses as an
70+
# array, i.e. ['success', 'failure, 'success']
71+
# join() converts the array to a string 'successfailuresuccess'
72+
# contains() checks whether the string contains failure
73+
metric-value: ${{ ! contains(join(needs.*.result, ''), 'failure') && ! contains(join(needs.*.result, ''), 'cancelled') }}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
repositories:
2+
tts-ros1:
3+
type: git
4+
url: https://github.com/aws-robotics/tts-ros1
5+
version: release-latest

.travis.yml

Lines changed: 0 additions & 24 deletions
This file was deleted.

README.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,11 @@ The source code is released under an [Apache 2.0].
2525
- Melodic
2626

2727
### Build status
28-
* Travis CI:
29-
* "master" branch [![Build Status](https://travis-ci.org/aws-robotics/tts-ros1.svg?branch=master)](https://travis-ci.org/aws-robotics/tts-ros1/branches)
30-
* "release-latest" branch [![Build Status](https://travis-ci.org/aws-robotics/tts-ros1.svg?branch=release-latest)](https://travis-ci.org/aws-robotics/tts-ros1/branches)
28+
* GitHub Action Status
29+
* master: [![Build & Test](https://github.com/aws-robotics/tts-ros1/workflows/Build%20&%20Test/badge.svg?branch=master&event=schedule)](https://github.com/aws-robotics/tts-ros1/actions?query=workflow%3A"Build+%26+Test"+event%3Aschedule)
30+
* release-latest: [![Build & Test release-latest](https://github.com/aws-robotics/tts-ros1/workflows/Build%20&%20Test%20release-latest/badge.svg?branch=master&event=schedule)](https://github.com/aws-robotics/tts-ros1/actions?query=workflow%3A"Build+%26+Test+release-latest"+event%3Aschedule)
31+
32+
3133
* ROS build farm:
3234
* ROS Kinetic @ u16.04 Xenial [![Build Status](http://build.ros.org/job/Kbin_uX64__tts__ubuntu_xenial_amd64__binary/badge/icon)](http://build.ros.org/job/Kbin_uX64__tts__ubuntu_xenial_amd64__binary)
3335
* ROS Melodic @ u18.04 Bionic [![Build Status](http://build.ros.org/job/Mbin_uB64__tts__ubuntu_bionic_amd64__binary/badge/icon)](http://build.ros.org/job/Mbin_uB64__tts__ubuntu_bionic_amd64__binary)
@@ -58,6 +60,8 @@ On Ubuntu you can install the latest version of this package using the following
5860

5961
To build from source you'll need to create a new workspace, clone and checkout the latest release branch of this repository, install all the dependencies, and compile. If you need the latest development features you can clone from the `master` branch instead of the latest release branch. While we guarantee the release branches are stable, __the `master` should be considered to have an unstable build__ due to ongoing development.
6062

63+
- Install build tool: please refer to `colcon` [installation guide](https://colcon.readthedocs.io/en/released/user/installation.html)
64+
6165
- Create a ROS workspace and a source directory
6266

6367
mkdir -p ~/ros-workspace/src

0 commit comments

Comments
 (0)