This repository was archived by the owner on Oct 6, 2026. It is now read-only.
Repository navigation
ci: fix Node 20, lint permission, and formatting annotations - #74
Merged
Merged
Conversation
Updated Docker configuration step for better clarity and error handling.
This file contains hidden or 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
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CI reports Node 20 deprecations, check-run creation failures (403), and a missing YAML document marker. The lint wrapper also returns success by default when formatting fails, while its formatter versions differ from pre-commit.
This PR fixes those issues together:
wearerequired/lint-actionwith direct Black, Flake8, and clang-format checks under a read-only token. This removes the Checks API writes that fail on fork PRs and restricted tokens. Failures now fail the job, while the other lint steps still run.---to the MAVROS YAML configuration.ros2repository root and only deploys fromros2; PRs only build and upload a preview artifact. This replaces the GitHub-generated Pages workflow that also emits Node 20 andubuntu-latestmigration annotations.Validation
Before the ArduPilot download fix: live AMD64, lint, and Pages builds passed at
56311df; ARM64 passed Docker setup and the DAVE workspace build, then failed on an interrupted full ArduPilot clone. Atcfae083, lint and Pages passed. The first ARM attempt failed before any workflow step because runnergwon-yeseol-mbp-arm64was missingSystem.Net.WebSockets; a retry is running onioess-MacBook-Pro. Full Docker validation remains pending.The updated download shell block passes syntax and ShellCheck; retry behavior was verified for immediate success, recovery after two failures, and failure after three attempts. A fresh execution of the exact Dockerfile download block succeeded; the parent commit and all 20 recursive submodules were verified against their pinned revisions.
Actionlint (including ShellCheck) and workflow YAML lint passed.
Black: all 19 Python files unchanged; Flake8 and clang-format checks passed.
Repository YAML, shell, and CMake checks passed (13 CMake files).
Action manifests were checked for
runs.using: node24, including the artifact action nested inside the Pages uploader.XML lint retains its existing Gazebo namespace diagnostics; no XML source or namespace semantics are changed.
Pages activation after merging
In Settings → Pages → Build and deployment → Source, select GitHub Actions, then run Build and deploy Pages on
ros2. The existing Pages source isros2/; repository settings have not been changed by this PR. This setting is needed to retire the generated legacy workflow and its uneditable warnings.Self-hosted runners must support Node 24 (Actions Runner 2.327.1 or newer); current logs already show Node 24 execution. Old run annotations are historical and will remain visible; the fixes apply to new runs.