Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
87 changes: 33 additions & 54 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,51 +6,32 @@ references:
path: .
setup_doc_dependencies: &setup_doc_dependencies
run:
name: Install documentation dependencies
name: Install Doc Dependencies
command: |
export DEBIAN_FRONTEND=noninteractive
apt update
apt install -y \
doxygen \
git \
graphviz \
make \
openjdk-8-jre \
openssh-server \
python3-pip \
python3-venv
python3 -m venv /nav2_docs/venv
. /nav2_docs/venv/bin/activate
ttf-dejavu
pip3 install -r requirements.txt
build_docs: &build_docs
make_docs: &make_docs
run:
name: Build documentation
command: |
. /nav2_docs/venv/bin/activate
mkdocs build
store_built_docs: &store_built_docs
make html
store_docs: &store_docs
store_artifacts:
path: ./site
destination: build_site
path: _build/html
destination: html
publish_docs: &publish_docs
run:
name: Deploy documentation
command: |
# Set up git configuration
git config user.name ci
git config user.email ci@noreply.com

. /nav2_docs/venv/bin/activate

TITLE=${CIRCLE_BRANCH^}
mike deploy $CIRCLE_BRANCH --title=$TITLE --push --allow-empty \
--message "[skip ci] Deployed $CIRCLE_SHA1 to $CIRCLE_BRANCH"

# Set default version only once
if ! git cat-file -e origin/gh-pages:index.html; then
mike set-default rolling --push
echo "The default version is set to Rolling"
fi
store_published_docs: &store_published_docs
store_artifacts:
path: ./site
destination: publish_site
make publish
install_deployment_key: &install_deployment_key
add_ssh_keys:
fingerprints:
Expand All @@ -61,21 +42,20 @@ commands:
description: "Install documentation dependencies"
steps:
- *setup_doc_dependencies
build_and_store_docs:
description: "Build and store docs"
build_docs:
description: "Build docs"
steps:
- *build_docs
- *store_built_docs
publish_and_store_docs:
description: "Commit newly built docs to gh-pages branch and store the build result"
- *make_docs
- *store_docs
publish_docs_to_gh_pages_branch:
description: "Commit newly built docs to gh-pages branch"
steps:
- *publish_docs
- *store_published_docs

executors:
docs_exec:
docker:
- image: ubuntu:noble
- image: ubuntu:focal
working_directory: /nav2_docs

jobs:
Expand All @@ -84,30 +64,29 @@ jobs:
steps:
- *on_checkout
- install_doc_dependencies
- build_and_store_docs
- build_docs
- persist_to_workspace:
root: .
paths:
- _build
docs_publish:
executor: docs_exec
steps:
- *on_checkout
- install_doc_dependencies
- *install_deployment_key
- publish_and_store_docs
- attach_workspace:
at: .
- publish_docs_to_gh_pages_branch

workflows:
build_docs:
jobs:
- docs_build:
filters:
branches:
ignore:
- rolling
publish_docs:
version: 2
build_and_publish_docs:
jobs:
- docs_build
- docs_publish:
# 'serial-group' prevents gh-pages push conflicts when multiple branches deploy simultaneously.
# Serial group ensures only one docs_publish job runs at a time across the org.
serial-group: << pipeline.project.slug >>/gh-pages-deploy
requires:
- docs_build
filters:
branches:
only:
- rolling
only: master
1 change: 1 addition & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
"extensions": [
"eamodio.gitlens",
"esbenp.prettier-vscode",
"GitHub.copilot",
"streetsidesoftware.code-spell-checker"
]
}
Expand Down
2 changes: 1 addition & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@
.vscode/
**.Dockerfile
**Dockerfile
site
_build/
37 changes: 0 additions & 37 deletions .github/mergify.yml

This file was deleted.

53 changes: 53 additions & 0 deletions .github/workflows/claude.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Claude PR Assistant

on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]

jobs:
claude-code-action:
if: |
(
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
(github.event_name == 'issues' && contains(github.event.issue.body, '@claude'))
) && (
github.actor == 'SteveMacenski' ||
github.actor == 'tonynajjar' ||
github.actor == 'ruffsl' ||
github.actor == 'doisyg' ||
github.actor == 'padhupradheep'
)

runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
issues: read
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v7
with:
fetch-depth: 1

- name: Run Claude PR Action
uses: grll/claude-code-action@beta
with:
use_oauth: true
claude_access_token: ${{ secrets.CLAUDE_ACCESS_TOKEN }}
claude_refresh_token: ${{ secrets.CLAUDE_REFRESH_TOKEN }}
claude_expires_at: ${{ secrets.CLAUDE_EXPIRES_AT }}
secrets_admin_pat: ${{ secrets.SECRETS_ADMIN_PAT }}
allowed_tools: |
Bash
timeout_minutes: "60"
model: "claude-sonnet-4-20250514"
# direct_prompt: provide prompt information, probably more useful if this job is split into many. Reviewer, implementer, Q&A answerer, etc so that each have their own context
21 changes: 21 additions & 0 deletions .github/workflows/claude_oath.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Claude OAuth

on:
workflow_dispatch:
inputs:
code:
description: 'Authorization code (leave empty for step 1)'
required: false

permissions:
actions: write # Required for cache management
contents: read # Required for basic repository access

jobs:
auth:
runs-on: ubuntu-latest
steps:
- uses: grll/claude-code-login@v1
with:
code: ${{ inputs.code }}
secrets_admin_pat: ${{ secrets.SECRETS_ADMIN_PAT }}
3 changes: 1 addition & 2 deletions .github/workflows/precommit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ name: pre-commit
on:
pull_request:
push:
branches:
- rolling
branches: [main]

jobs:
pre-commit:
Expand Down
12 changes: 6 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
venv
site
__pycache__

macros/cache/*
!macros/cache/README.md
_build
lib/
bin/
pyvenv.cfg
.DS_Store
venv/
6 changes: 3 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@ repos:
# Spellcheck in comments and docs
# skipping of *.svg files is not working...
- repo: https://github.com/codespell-project/codespell
rev: v2.4.2
rev: v2.3.0
hooks:
- id: codespell
args: ['--write-changes', '--ignore-words=.codespell_words']
exclude: \.(svg|pyc|drawio|dcf|eds)$
exclude: CHANGELOG\.rst|\.(svg|pyc|drawio|dcf|eds)$

- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
rev: v5.0.0
hooks:
- id: end-of-file-fixer
- id: mixed-line-ending
Expand Down
54 changes: 21 additions & 33 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,44 +4,32 @@
"version": "2.0.0",
"tasks": [
{
"label": "Create venv",
"type": "shell",
"command": "python3",
"args": ["-m", "venv", "venv"],
"problemMatcher": []
},
{
"label": "Install dependencies",
"type": "shell",
"command": "${workspaceFolder}/venv/bin/pip",
"args": ["install", "-r", "requirements.txt"],
"dependsOn": ["Create venv"],
"problemMatcher": []
},
{
"label": "Build Nav2 Docs",
"label": "Build",
"icon": {
"id": "gear"
},
"type": "shell",
"command": "${workspaceFolder}/venv/bin/mkdocs",
"args": ["build"],
"dependsOn": ["Install dependencies"],
"command": "make html",
"isBackground": false,
"problemMatcher": [],
"presentation": {
"reveal": "always",
"panel": "new"
}
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "Start Nav2 Docs live preview server",
"label": "Autobuild",
"icon": {
"id": "debug-start"
},
"type": "shell",
"command": "${workspaceFolder}/venv/bin/mkdocs",
"args": ["serve"],
"dependsOn": ["Install dependencies"],
"command": "make autobuild",
"isBackground": true,
"problemMatcher": [],
"presentation": {
"reveal": "always",
"panel": "new"
},
"isBackground": true
},
"group": {
"kind": "build",
"isDefault": false
}
}
]
}
Loading
Loading