Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into devel-dirty
Browse files Browse the repository at this point in the history
  • Loading branch information
playertr committed Jan 21, 2025
2 parents 7449022 + d59b5a5 commit ca322ed
Show file tree
Hide file tree
Showing 4,747 changed files with 477,140 additions and 196,904 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,4 @@ mav.*
!Tools/environment_install/install-prereqs-ubuntu.sh
!Tools/environment_install/install-prereqs-arch.sh
!Tools/completion
autotest_result_*_junit.xml
5 changes: 3 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = false # These are the correct rules for APM coding standards, but fixing up old files causes git spam
insert_final_newline = false
# These are the correct rules for APM coding standards, but fixing up old files causes git spam
trim_trailing_whitespace = false
insert_final_newline = true

[*.mk]
indent_style = tab
Expand Down
9 changes: 9 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# This file allows ignoring commits in git blame view on Github.
# For more info, see here:
# https://docs.github.com/en/repositories/working-with-files/using-files/viewing-a-file#ignore-commits-in-the-blame-view

# Tools: ros2: Run ament_black on all files
85172b56467668bee9fa0e68081027b13bc18c4a

# Tools: ros2: Reformat
4d9822131354dc7dc3351f24660969f58720a1de
32 changes: 32 additions & 0 deletions .github/problem-matchers/Lua.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"problemMatcher": [
{
"owner": "Luacheck-problem-matcher",
"fileLocation": [ "relative", "${GITHUB_WORKSPACE}" ],
"pattern": [
{
"regexp": "^( *)(.+.lua):(\\d+):(\\d+): (.*)$",
"file": 2,
"line": 3,
"column": 4,
"message": 5
}
]
},
{
"owner": "Lua-language-server-problem-matcher",
"pattern": [
{
"regexp": "^(.+.lua):(\\d+):(\\d+)",
"file": 1,
"line": 2,
"column": 3
},
{
"regexp": "^(.*)",
"message": 1
}
]
}
]
}
17 changes: 17 additions & 0 deletions .github/problem-matchers/autotestfail.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"__comment": "by buzz try to match autotest test failures",
"problemMatcher": [
{
"owner": "autotest-fail-matcher",
"severity": "error",
"pattern": [
{
"regexp": "^(.*)(TIMEOUT|Build failed|FAILED STEP|FAILED):(.*)$",
"column": 1,
"code": 2,
"message": 3
}
]
}
]
}
17 changes: 17 additions & 0 deletions .github/problem-matchers/autotestwarn.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"__comment": "by buzz try to match common autotest warnings and errors that arent caught by gcc.json or python.json",
"problemMatcher": [
{
"owner": "autotest-warn-matcher",
"severity": "warning",
"pattern": [
{
"regexp": "^(.*)(WARN|WARNING):(.*)$",
"column": 1,
"code": 2,
"message": 3
}
]
}
]
}
18 changes: 18 additions & 0 deletions .github/problem-matchers/gcc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"__comment": "Taken from vscode-cpptools's Extension/package.json gcc rule",
"problemMatcher": [
{
"owner": "gcc-problem-matcher",
"pattern": [
{
"regexp": "^(.*):(\\d+):(\\d+):\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
]
}
]
}
22 changes: 22 additions & 0 deletions .github/problem-matchers/python.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"__comment": "inspired by https://github.com/microsoft/vscode-python/issues/3828#issuecomment-575439587",
"problemMatcher": [
{
"owner": "python-problem-matcher",
"pattern": [
{
"regexp": "^.*File \\\"([^\\\"]|.*)\\\", line (\\d+).*",
"file": 1,
"line": 2
},
{
"regexp": "^.*raise.*$"
},
{
"regexp": "^\\s*(.*)\\s*$",
"message": 1
}
]
}
]
}
39 changes: 39 additions & 0 deletions .github/workflows/cache_cleanup.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: cleanup caches by a branch
on:
pull_request:
types:
- closed
workflow_dispatch:

jobs:
cleanup:
runs-on: ubuntu-22.04
permissions:
# `actions:write` permission is required to delete caches
# See also: https://docs.github.com/en/rest/actions/cache?apiVersion=2022-11-28#delete-a-github-actions-cache-for-a-repository-using-a-cache-id
actions: write
contents: read
steps:
- name: Check out code
uses: actions/checkout@v4

- name: Cleanup
run: |
gh extension install actions/gh-actions-cache
REPO=${{ github.repository }}
BRANCH=refs/pull/${{ github.event.pull_request.number }}/merge
echo "Fetching list of cache key"
cacheKeysForPR=$(gh actions-cache list -R $REPO -B $BRANCH | cut -f 1 )
## Setting this to not fail the workflow while deleting cache keys.
set +e
echo "Deleting caches..."
for cacheKey in $cacheKeysForPR
do
gh actions-cache delete $cacheKey -R $REPO -B $BRANCH --confirm
done
echo "Done"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
205 changes: 205 additions & 0 deletions .github/workflows/colcon.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,205 @@
name: colcon build/test

on:
push:
paths-ignore:
# remove not tests vehicles
- 'AntennaTracker/**'
- 'ArduSub/**'
- 'Blimp/**'
- 'Rover/**'
# remove esp32 HAL
- 'libraries/AP_HAL_ESP32/**'
# remove non SITL directories
- 'Tools/AP_Bootloader/**'
- 'Tools/bootloaders/**'
- 'Tools/CHDK-Script/**'
- 'Tools/CodeStyle/**'
- 'Tools/completion/**'
- 'Tools/CPUInfo/**'
- 'Tools/debug/**'
- 'Tools/environment_install/**'
- 'Tools/FilterTestTool/**'
- 'Tools/Frame_params/**'
- 'Tools/geotag/**'
- 'Tools/GIT_Test/**'
- 'Tools/gittools/**'
- 'Tools/Hello/**'
- 'Tools/IO_Firmware/**'
- 'Tools/mavproxy_modules/**'
- 'Tools/Pozyx/**'
- 'Tools/PrintVersion.py'
- 'Tools/Replay/**'
- 'Tools/simulink/**'
- 'Tools/UDP_Proxy/**'
- 'Tools/vagrant/**'
- 'Tools/Vicon/**'
# Discard python file from Tools/scripts as not used
- 'Tools/scripts/**.py'
- 'Tools/scripts/build_sizes/**'
- 'Tools/scripts/build_tests/**'
- 'Tools/scripts/CAN/**'
- 'Tools/scripts/signing/**'
# Remove autotests stuff
- 'Tools/autotest/**'
# Remove markdown files as irrelevant
- '**.md'
# Remove dotfile at root directory
- './.dir-locals.el'
- './.dockerignore'
- './.editorconfig'
- './.flake8'
- './.gitattributes'
- './.github'
- './.gitignore'
- './.pre-commit-config.yaml'
- './.pydevproject'
- './.valgrind-suppressions'
- './.valgrindrc'
- 'Dockerfile'
- 'Vagrantfile'
- 'Makefile'
# Remove some directories check
- '.vscode/**'
- '.github/ISSUE_TEMPLATE/**'
# Remove change on other workflows
- '.github/workflows/test_environment.yml'

pull_request:
paths-ignore:
# remove not tests vehicles
- 'AntennaTracker/**'
- 'ArduSub/**'
- 'Rover/**'
- 'Blimp/**'
# remove esp32 HAL
- 'libraries/AP_HAL_ESP32/**'
# remove non SITL directories
- 'Tools/AP_Bootloader/**'
- 'Tools/CHDK-Script/**'
- 'Tools/CPUInfo/**'
- 'Tools/CodeStyle/**'
- 'Tools/FilterTestTool/**'
- 'Tools/Frame_params/**'
- 'Tools/GIT_Test/**'
- 'Tools/Hello/**'
- 'Tools/IO_Firmware/**'
- 'Tools/LogAnalyzer/**'
- 'Tools/Pozyx/**'
- 'Tools/PrintVersion.py'
- 'Tools/Replay/**'
- 'Tools/UDP_Proxy/**'
- 'Tools/Vicon/**'
- 'Tools/bootloaders/**'
- 'Tools/completion/**'
- 'Tools/debug/**'
- 'Tools/environment_install/**'
- 'Tools/geotag/**'
- 'Tools/gittools/**'
- 'Tools/mavproxy_modules/**'
- 'Tools/simulink/**'
- 'Tools/vagrant/**'
# Discard python file from Tools/scripts as not used
- 'Tools/scripts/**.py'
- 'Tools/scripts/build_sizes/**'
- 'Tools/scripts/build_tests/**'
- 'Tools/scripts/CAN/**'
- 'Tools/scripts/signing/**'
# Remove autotests stuff
- 'Tools/autotest/**'
# Remove markdown files as irrelevant
- '**.md'
# Remove dotfile at root directory
- './.dir-locals.el'
- './.dockerignore'
- './.editorconfig'
- './.flake8'
- './.gitattributes'
- './.github'
- './.gitignore'
- './.pre-commit-config.yaml'
- './.pydevproject'
- './.valgrind-suppressions'
- './.valgrindrc'
- 'Dockerfile'
- 'Vagrantfile'
- 'Makefile'
# Remove some directories check
- '.vscode/**'
- '.github/ISSUE_TEMPLATE/**'
# Remove change on other workflows
- '.github/workflows/test_environment.yml'

workflow_dispatch:

concurrency:
group: ci-${{github.workflow}}-${{ github.ref }}
cancel-in-progress: true

jobs:
build-test:
runs-on: ubuntu-22.04
container:
image: ardupilot/ardupilot-dev-ros:latest
strategy:
fail-fast: false # don't cancel if a job from the matrix fails
steps:
# git checkout the PR
- uses: actions/checkout@v4
with:
submodules: 'recursive'
path: src/ardupilot
# Put ccache into github cache for faster build
- name: Prepare ccache timestamp
id: ccache_cache_timestamp
run: |
NOW=$(date -u +"%F-%T")
echo "timestamp=${NOW}" >> $GITHUB_OUTPUT
- name: ccache cache files
uses: actions/cache@v4
with:
path: ~/.ccache
key: ${{github.workflow}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
restore-keys: ${{github.workflow}}-ccache- # restore ccache from either previous build on this branch or on master
- name: setup ccache
run: |
. src/ardupilot/.github/workflows/ccache.env
# https://ardupilot.org/dev/docs/ros2.html#installation-ubuntu
- name: Pull in repos with vcs
run: |
cd src
wget --progress=dot:giga https://raw.githubusercontent.com/ArduPilot/ardupilot/master/Tools/ros2/ros2.repos
vcs import --recursive --debug --shallow --skip-existing < ros2.repos
- name: Install rosdep dependencies
shell: 'bash'
run: |
apt update
rosdep update
# Workaround for flake8 attribute error
# https://github.com/ArduPilot/ardupilot/pull/24277#issuecomment-1632833433
python -m pip install flake8==3.7.9
source /opt/ros/humble/setup.bash
rosdep install --from-paths src --ignore-src --default-yes
- name: Install MAVProxy
run: |
# Install this specific version just to prevent rolling updates.
# These are the latest available
python3 -m pip install MAVProxy==1.8.67
- name: Install local pymavlink
working-directory: ./src/ardupilot/modules/mavlink/pymavlink
run: |
pip install . -U --user
- name: Build with colcon
shell: 'bash'
run: |
source /opt/ros/humble/setup.bash
colcon build --packages-up-to ardupilot_dds_tests --cmake-args -DBUILD_TESTING=ON
- name: Test with colcon
shell: 'bash'
run: |
source install/setup.bash
colcon test --executor sequential --parallel-workers 0 --base-paths src/ardupilot --event-handlers=console_cohesion+
- name: Report colcon test results
run: |
colcon test-result --all --verbose
Loading

0 comments on commit ca322ed

Please sign in to comment.