-
Notifications
You must be signed in to change notification settings - Fork 101
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
179 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
name: Humble Binary Build - main | ||
# author: Denis Štogl <[email protected]> | ||
# description: 'Build & test all dependencies from released (binary) packages.' | ||
|
||
on: | ||
workflow_dispatch: | ||
branches: | ||
- rolling | ||
pull_request: | ||
branches: | ||
- rolling | ||
push: | ||
branches: | ||
- rolling | ||
schedule: | ||
# Run every morning to detect flakiness and broken dependencies | ||
- cron: '03 1 * * *' | ||
|
||
jobs: | ||
binary: | ||
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml | ||
with: | ||
ros_distro: humble | ||
ros_repo: main | ||
upstream_workspace: twist_mux_deps.repos | ||
ref_for_scheduled_build: rolling |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
name: Iron Binary Build - main | ||
# author: Denis Štogl <[email protected]> | ||
# description: 'Build & test all dependencies from released (binary) packages.' | ||
|
||
on: | ||
workflow_dispatch: | ||
branches: | ||
- rolling | ||
pull_request: | ||
branches: | ||
- rolling | ||
push: | ||
branches: | ||
- rolling | ||
schedule: | ||
# Run every morning to detect flakiness and broken dependencies | ||
- cron: '03 1 * * *' | ||
|
||
jobs: | ||
binary: | ||
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml | ||
with: | ||
ros_distro: iron | ||
ros_repo: main | ||
upstream_workspace: twist_mux_deps.repos | ||
ref_for_scheduled_build: rolling |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
name: Reusable industrial_ci Workflow with Cache | ||
# Reusable action to simplify dealing with ROS/ROS2 industrial_ci builds with cache | ||
# author: Denis Štogl <[email protected]> | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
ref_for_scheduled_build: | ||
description: 'Reference on which the repo should be checkout for scheduled build. Usually is this name of a branch or a tag.' | ||
default: '' | ||
required: false | ||
type: string | ||
|
||
upstream_workspace: | ||
description: 'UPSTREAM_WORKSPACE variable for industrial_ci. Usually path to local .repos file.' | ||
required: true | ||
type: string | ||
ros_distro: | ||
description: 'ROS_DISTRO variable for industrial_ci' | ||
required: true | ||
type: string | ||
ros_repo: | ||
description: 'ROS_REPO to run for industrial_ci. Possible values: "main", "testing"' | ||
default: 'main' | ||
required: false | ||
type: string | ||
os_code_name: | ||
description: 'OS_CODE_NAME variable for industrial_ci' | ||
default: '' | ||
required: false | ||
type: string | ||
before_install_upstream_dependencies: | ||
description: 'BEFORE_INSTALL_UPSTREAM_DEPENDENCIES variable for industrial_ci' | ||
default: '' | ||
required: false | ||
type: string | ||
|
||
ccache_dir: | ||
description: 'Local path to store cache (from "github.workspace"). For standard industrial_ci configuration do not have to be changed' | ||
default: '.ccache' | ||
required: false | ||
type: string | ||
basedir: | ||
description: 'Local path to workspace base directory to cache (from "github.workspace"). For standard industrial_ci configuration do not have to be changed' | ||
default: '.work' | ||
required: false | ||
type: string | ||
|
||
|
||
jobs: | ||
reusable_industrial_ci_with_cache: | ||
name: ${{ inputs.ros_distro }} ${{ inputs.ros_repo }} ${{ inputs.os_code_name }} | ||
runs-on: ubuntu-latest | ||
env: | ||
CCACHE_DIR: ${{ github.workspace }}/${{ inputs.ccache_dir }} | ||
BASEDIR: ${{ github.workspace }}/${{ inputs.basedir }} | ||
CACHE_PREFIX: ${{ inputs.ros_distro }}-${{ inputs.os_code_name }}-${{ inputs.ros_repo }}-${{ github.job }} | ||
steps: | ||
- name: Checkout ${{ inputs.ref }} when build is not scheduled | ||
if: ${{ github.event_name != 'schedule' }} | ||
uses: actions/checkout@v3 | ||
- name: Checkout ${{ inputs.ref }} on scheduled build | ||
if: ${{ github.event_name == 'schedule' }} | ||
uses: actions/checkout@v3 | ||
with: | ||
ref: ${{ inputs.ref_for_scheduled_build }} | ||
- name: cache target_ws | ||
if: ${{ ! matrix.env.CCOV }} | ||
uses: pat-s/[email protected] | ||
with: | ||
path: ${{ env.BASEDIR }}/target_ws | ||
key: target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }}-${{ github.run_id }} | ||
restore-keys: | | ||
target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }} | ||
- name: cache ccache | ||
uses: pat-s/[email protected] | ||
with: | ||
path: ${{ env.CCACHE_DIR }} | ||
key: ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }}-${{ github.run_id }} | ||
restore-keys: | | ||
ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }} | ||
ccache-${{ env.CACHE_PREFIX }} | ||
- uses: 'ros-industrial/industrial_ci@master' | ||
env: | ||
UPSTREAM_WORKSPACE: ${{ inputs.upstream_workspace }} | ||
ROS_DISTRO: ${{ inputs.ros_distro }} | ||
ROS_REPO: ${{ inputs.ros_repo }} | ||
OS_CODE_NAME: ${{ inputs.os_code_name }} | ||
BEFORE_INSTALL_UPSTREAM_DEPENDENCIES: ${{ inputs.before_install_upstream_dependencies }} | ||
- name: prepare target_ws for cache | ||
if: ${{ always() && ! matrix.env.CCOV }} | ||
run: | | ||
du -sh ${{ env.BASEDIR }}/target_ws | ||
sudo find ${{ env.BASEDIR }}/target_ws -wholename '*/test_results/*' -delete | ||
sudo rm -rf ${{ env.BASEDIR }}/target_ws/src | ||
du -sh ${{ env.BASEDIR }}/target_ws |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
name: Rolling Binary Build - main | ||
# author: Denis Štogl <[email protected]> | ||
# description: 'Build & test all dependencies from released (binary) packages.' | ||
|
||
on: | ||
workflow_dispatch: | ||
branches: | ||
- rolling | ||
pull_request: | ||
branches: | ||
- rolling | ||
push: | ||
branches: | ||
- rolling | ||
schedule: | ||
# Run every morning to detect flakiness and broken dependencies | ||
- cron: '03 1 * * *' | ||
|
||
jobs: | ||
binary: | ||
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml | ||
with: | ||
ros_distro: rolling | ||
ros_repo: main | ||
upstream_workspace: twist_mux_deps.repos | ||
ref_for_scheduled_build: rolling |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
repositories: | ||
twist_mux_msgs: | ||
type: git | ||
url: https://github.com/ros-teleop/twist_mux_msgs.git | ||
version: master |