Skip to content

Refine Workflow Configuration #2

Refine Workflow Configuration

Refine Workflow Configuration #2

Workflow file for this run

name: Test
on:
workflow_dispatch:
pull_request:
push:
branches: [main]
jobs:
action-test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-22.04
ros2-distro: humble
- os: ubuntu-22.04
ros2-distro: iron
steps:
- name: Checkout this repository
uses: actions/checkout@v2.3.4
- name: Checkout ROS 2 examples on non master branch
uses: actions/checkout@v2.3.4
with:
repository: ros2/examples
ref: ${{ matrix.ros2-distro }}
path: examples
- name: Only test some packages
run: |
mv examples/rclcpp/topics cpptopics || true
mv examples/rclcpp/minimal_publisher . || true
mv examples/rclcpp/minimal_subscriber . || true
mv examples/rclpy/topics pytopics || true
rm -rf examples test || true
- name: Test the action
uses: ./
with:
ros2-distro: ${{ matrix.ros2-distro }}
- name: Upload build result
uses: actions/upload-artifact@v2.2.3
with:
name: Install
path: install
action-test-failure:
runs-on: ubuntu-20.04
strategy:
matrix:
package: [failed_build, failed_test]
steps:
- name: Checkout this repository
uses: actions/checkout@v2.3.4
- name: Only test some packages
run: |
mv test/${{ matrix.package }} ${{ matrix.package }} || true
rm -rf examples test || true
- name: Test the action
id: failedstep
continue-on-error: true
uses: ./
- name: Fails if previous step has succeeded
if: ${{ steps.failedstep.outcome == 'success' }}
run: false