# Copyright 2025 Enactic, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. name: Test on: push: branches: - '**' - '!dependabot/**' tags: - '**' pull_request: concurrency: group: ${{ github.head_ref || github.sha }}-${{ github.workflow }} cancel-in-progress: true jobs: lint: name: Lint runs-on: ubuntu-latest timeout-minutes: 5 steps: - uses: actions/checkout@v6 with: submodules: recursive - name: Install pre-commit run: | python -m pip install pre-commit - uses: actions/cache@v4 with: path: ~/.cache/pre-commit key: pre-commit-${{ hashFiles('.pre-commit-config.yaml') }} - name: Run pre-commit run: | pre-commit run --show-diff-on-failure --color=always --all-files build: name: Build runs-on: ${{ matrix.runs-on }} timeout-minutes: 5 strategy: fail-fast: false matrix: runs-on: - ubuntu-22.04 steps: - uses: actions/checkout@v6 - name: Install dependencies run: | sudo apt update sudo apt install -y -V \ cmake \ libkdl-parser-dev \ liborocos-kdl-dev \ liburdfdom-headers-dev \ libyaml-cpp-dev \ ninja-build - uses: actions/checkout@v6 with: path: openarm_can repository: enactic/openarm_can - name: "OpenArm CAN: CMake" run: | cmake \ -B openarm_can.build \ -S openarm_can \ -GNinja \ -DCMAKE_INSTALL_PREFIX=$PWD/install \ -DCMAKE_BUILD_TYPE=Debug - name: "OpenArm CAN: Build" run: | ninja -C openarm_can.build - name: "OpenArm CAN: Install" run: | ninja -C openarm_can.build install - name: CMake run: | cmake \ -B build \ -S . \ -GNinja \ -DCMAKE_INSTALL_PREFIX=$PWD/install \ -DCMAKE_BUILD_TYPE=Debug - name: Build run: | ninja -C build