Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add docs for Dev Containers #407

Merged
merged 107 commits into from
Apr 26, 2023
Merged
Show file tree
Hide file tree
Changes from 106 commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
ac45984
Checkin work in progress
ruffsl Mar 27, 2023
9de0304
Add section on Security
ruffsl Mar 27, 2023
7827bc6
Add description of container runtime and runArgs
ruffsl Mar 27, 2023
67a0f2e
Add to using dev container
ruffsl Mar 27, 2023
16ff8e1
Add subsection on Terminals
ruffsl Mar 27, 2023
b05f070
Add subsection on Lifecycle
ruffsl Mar 27, 2023
3bb9e62
Add reminder to Lifecycle about pushing to remote
ruffsl Mar 28, 2023
b3bded1
Add subsection on Rebuilding
ruffsl Mar 28, 2023
f0a0f2b
Rename file to own subtree
ruffsl Apr 11, 2023
6880fe0
Enable markdown support for Sphinx
ruffsl Apr 11, 2023
f1aa71f
Add dev_containers to root index
ruffsl Apr 11, 2023
293e78e
Fix missing URL
ruffsl Apr 11, 2023
6601960
Spin out content into development guide
ruffsl Apr 11, 2023
839e4d2
Add guides to index
ruffsl Apr 11, 2023
9f7ed79
Fix subheading levels
ruffsl Apr 11, 2023
2fd240c
Add reference to using remote docker host
ruffsl Apr 11, 2023
2a70f54
Update section Getting stared
ruffsl Apr 11, 2023
c8a030d
Enalbe admonitions and callouts highlighting
ruffsl Apr 11, 2023
024d0ed
Use tip admonition
ruffsl Apr 11, 2023
1792267
Use node admonition
ruffsl Apr 11, 2023
10c2c76
Rewording
ruffsl Apr 11, 2023
ec62d89
Fromatting
ruffsl Apr 11, 2023
782bdde
Use caution admonition
ruffsl Apr 11, 2023
26c0d5c
Use hint admonition
ruffsl Apr 11, 2023
e16df70
Wording
ruffsl Apr 11, 2023
e05586d
Wording
ruffsl Apr 11, 2023
71b0484
Formatting
ruffsl Apr 11, 2023
5ce6c6a
Add section intros
ruffsl Apr 11, 2023
d0651e1
Wording
ruffsl Apr 11, 2023
b9c4c2e
Add seealso callout for Nav2 CI
ruffsl Apr 11, 2023
a868f26
Add hint callout for colcon extentions
ruffsl Apr 11, 2023
d15bec2
Use attention admonition about runArgs
ruffsl Apr 11, 2023
9b3deef
Update remarks on volumes
ruffsl Apr 11, 2023
34098e5
Grammar
ruffsl Apr 12, 2023
d37e818
Update notes on current runArgs
ruffsl Apr 12, 2023
8693a3e
Add seealso callout for details on used runArgs
ruffsl Apr 12, 2023
eced357
Update remark about volumes
ruffsl Apr 12, 2023
e20e522
Formatting
ruffsl Apr 12, 2023
63dd66b
Sort Formatting
ruffsl Apr 12, 2023
59e50f4
Install sphinx_copybutton
ruffsl Apr 12, 2023
0ae0ca7
Simplify install instructions
ruffsl Apr 12, 2023
6d98af1
Format install instructions
ruffsl Apr 12, 2023
e471b5e
Wording
ruffsl Apr 12, 2023
898377d
Add missing annotating
ruffsl Apr 12, 2023
1c3996f
Update build instructions
ruffsl Apr 12, 2023
9edf13b
Update docker instructions
ruffsl Apr 12, 2023
2fd7f7f
Default branch is sadly not named rolling
ruffsl Apr 12, 2023
a7362a9
Add descriptions for each build method
ruffsl Apr 12, 2023
23c44ad
Wording
ruffsl Apr 12, 2023
a0775f2
Expand docker docs with links
ruffsl Apr 12, 2023
e146253
Formatting
ruffsl Apr 13, 2023
4fa977b
Add note that rolling is tracked via main branch
ruffsl Apr 13, 2023
7f645c9
Add tip for development workflow
ruffsl Apr 13, 2023
276a2fa
Add attention to terminals
ruffsl Apr 13, 2023
646bf96
Add hint to terminals
ruffsl Apr 13, 2023
bdd35ee
Add important to lifecycle
ruffsl Apr 13, 2023
0545b81
Add caution to rebuilding
ruffsl Apr 13, 2023
2f4eaf6
Add details to rebuilding without cache
ruffsl Apr 13, 2023
801ab3d
Add caution to rebuilding without cache
ruffsl Apr 13, 2023
dd3add4
Add tip to rebuilding
ruffsl Apr 13, 2023
e298804
Split Visualization Guide into separate PR
ruffsl Apr 13, 2023
113d8b6
Use seealso admonition
ruffsl Apr 13, 2023
a9159c8
Upgrade security caution to danger
ruffsl Apr 13, 2023
c1c01bb
Wording
ruffsl Apr 13, 2023
2ab5264
Wording
ruffsl Apr 14, 2023
aee86e7
Add tip about logfile
ruffsl Apr 14, 2023
bc736e0
Typo
ruffsl Apr 14, 2023
aad97af
Comment out runArgs unintended side effects
ruffsl Apr 18, 2023
076596f
Wording
ruffsl Apr 18, 2023
7a536f8
Update requirements.txt
ruffsl Apr 18, 2023
57ba320
Add new dependencies
ruffsl Apr 18, 2023
737b7d6
Fix version for new dependencies
ruffsl Apr 18, 2023
2f5dd35
Move development files
ruffsl Apr 18, 2023
95ca826
Update README
ruffsl Apr 18, 2023
453722b
Update Dockerfile
ruffsl Apr 18, 2023
cee4b24
Update CI
ruffsl Apr 18, 2023
66f0fdb
Simplify Dockerfile
ruffsl Apr 18, 2023
d021595
Simplify apt install
ruffsl Apr 18, 2023
b6c878b
Expand apt install
ruffsl Apr 18, 2023
f53400d
Sort apt install
ruffsl Apr 18, 2023
61752b8
Prune apt install
ruffsl Apr 18, 2023
0126257
Update Dockerfile to match CI
ruffsl Apr 18, 2023
f0e2f3f
Fix working_directory
ruffsl Apr 18, 2023
5b50364
Update attention
ruffsl Apr 18, 2023
dad2431
Avoid the use of export
ruffsl Apr 18, 2023
0cb6fb3
Rewording
ruffsl Apr 18, 2023
e6aa6e4
Refactor build and devcontainer docs
ruffsl Apr 20, 2023
9888bc7
Set language to english
ruffsl Apr 19, 2023
e385b01
Exclude README file
ruffsl Apr 19, 2023
a55e3f9
Orphan files not included in any toctree
ruffsl Apr 19, 2023
7480513
Stage renaming links
ruffsl Apr 20, 2023
7c54a15
Rename indexs and headings
ruffsl Apr 20, 2023
316d497
Use globe for hidden toctree
ruffsl Apr 20, 2023
d221394
Add guide index for discoverability
ruffsl Apr 20, 2023
f9d1804
Reorder caution admonition as a TLDR
ruffsl Apr 20, 2023
a43c001
Add body text to index
ruffsl Apr 20, 2023
265c2cb
Combine contribute into development guide
ruffsl Apr 20, 2023
2f98a97
Add hidden toctree without maxdepth
ruffsl Apr 20, 2023
42689a6
Use seealso admonition for dev container links
ruffsl Apr 20, 2023
ef233b2
Revert change to avoid duplicate toctree entries
ruffsl Apr 20, 2023
99a806e
Instal sphinx-autobuild
ruffsl Apr 20, 2023
c3a1e43
Add make build task
ruffsl Apr 20, 2023
fbecd88
Add .dockerignore file
ruffsl Apr 20, 2023
8bc021f
Add auto build option
ruffsl Apr 20, 2023
33842a8
Show all warning
ruffsl Apr 20, 2023
068a547
Add devcontainer config
ruffsl Apr 20, 2023
c95f117
Fix artifact path
ruffsl Apr 26, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 16 additions & 16 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,26 @@ version: 2.1
references:
on_checkout: &on_checkout
checkout:
path: nav2_docs
path: .
ruffsl marked this conversation as resolved.
Show resolved Hide resolved
setup_doc_dependencies: &setup_doc_dependencies
run:
name: Install Doc Dependencies
command: |
export DEBIAN_FRONTEND=noninteractive
apt update
apt install make -y
apt install doxygen -y
apt install graphviz -y
apt install ttf-dejavu -y
apt install openjdk-8-jre -y
apt install bash git openssh-server -y
apt install python3-pip python3 -y
pip3 install sphinx==3.5.0 docutils==0.14 sphinx_rtd_theme breathe==4.28.0 sphinxcontrib-plantuml jinja2==3.0.3
apt install -y \
doxygen \
git \
graphviz \
make \
openjdk-8-jre \
openssh-server \
python3-pip \
ttf-dejavu
pip3 install -r requirements.txt
make_docs: &make_docs
run:
command: |
cd nav2_docs
make html
store_docs: &store_docs
store_artifacts:
Expand All @@ -30,7 +31,6 @@ references:
publish_docs: &publish_docs
run:
command: |
cd nav2_docs
make publish
install_deployment_key: &install_deployment_key
add_ssh_keys:
Expand All @@ -56,27 +56,27 @@ executors:
docs_exec:
docker:
- image: ubuntu:focal
working_directory: /
working_directory: /nav2_docs

jobs:
docs_build:
executor: docs_exec
steps:
- install_doc_dependencies
- *on_checkout
- install_doc_dependencies
- build_docs
- persist_to_workspace:
root: nav2_docs
root: .
paths:
- _build
docs_publish:
executor: docs_exec
steps:
- install_doc_dependencies
- *on_checkout
- install_doc_dependencies
- *install_deployment_key
- attach_workspace:
at: nav2_docs
at: .
- publish_docs_to_gh_pages_branch

workflows:
Expand Down
22 changes: 22 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"name": "Nav2 Docs",
"build": {
"dockerfile": "../Dockerfile",
"context": ".."
},
"workspaceMount": "source=${localWorkspaceFolder},target=/docs,type=bind",
"workspaceFolder": "/docs",
"onCreateCommand": ".devcontainer/on-create-command.sh",
"updateContentCommand": ".devcontainer/update-content-command.sh",
"customizations": {
"vscode": {
"settings": {},
"extensions": [
"eamodio.gitlens",
"esbenp.prettier-vscode",
"GitHub.copilot",
"streetsidesoftware.code-spell-checker"
]
}
}
}
12 changes: 12 additions & 0 deletions .devcontainer/on-create-command.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/bash

# Immediately catch all errors
set -eo pipefail

# Uncomment for debugging
# set -x
# env

git config --global --add safe.directory "*"

.devcontainer/update-content-command.sh
11 changes: 11 additions & 0 deletions .devcontainer/update-content-command.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash

# Immediately catch all errors
set -eo pipefail

# Uncomment for debugging
# set -x
# env

# make clean
# make html
13 changes: 13 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
################################################################################
# Repo

.circleci/
.devcontainer/
.dockerignore
.git/
.github/
.gitignore
.vscode/
**.Dockerfile
**Dockerfile
_build/
35 changes: 35 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Build",
"icon": {
"id": "gear"
},
"type": "shell",
"command": "make html",
"isBackground": false,
"problemMatcher": [],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "Autobuild",
"icon": {
"id": "debug-start"
},
"type": "shell",
"command": "make autobuild",
"isBackground": true,
"problemMatcher": [],
"group": {
"kind": "build",
"isDefault": false
}
}
]
}
2 changes: 2 additions & 0 deletions 2021summerOfCode/Summer_2021_Student_Program.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
:orphan:

.. _summer_2021_student_program:


Expand Down
2 changes: 2 additions & 0 deletions 2021summerOfCode/projects/create_configuration_assistant.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
:orphan:

.. _create_moveit_analog:

1. Create a Configuration Assistant (Analog to MoveIt)
Expand Down
2 changes: 2 additions & 0 deletions 2021summerOfCode/projects/create_plugins.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
:orphan:

.. _create_plugins:


Expand Down
2 changes: 2 additions & 0 deletions 2021summerOfCode/projects/grid_maps.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
:orphan:

.. _grid_maps:


Expand Down
2 changes: 2 additions & 0 deletions 2021summerOfCode/projects/localization.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
:orphan:

.. _localization:


Expand Down
2 changes: 2 additions & 0 deletions 2021summerOfCode/projects/navigation_rebranding.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
:orphan:

.. _rebranding:


Expand Down
16 changes: 16 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
FROM ubuntu:focal

ARG DEBIAN_FRONTEND=noninteractive
RUN apt update && \
apt install -y \
doxygen \
git \
graphviz \
make \
openjdk-8-jre \
openssh-server \
python3-pip \
ttf-dejavu

COPY requirements.txt ./
RUN pip3 install -r requirements.txt
7 changes: 6 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ else
endif

# You can set these variables from the command line.
SPHINXOPTS ?= -q
SPHINXOPTS ?=
SPHINXBUILD = sphinx-build
SPHINXPROJ = "Nav2 Documentation"
SOURCEDIR = .
Expand All @@ -35,6 +35,11 @@ help:
html:
$(Q)$(SPHINXBUILD) -t $(DOC_TAG) -b html -d $(BUILDDIR)/doctrees $(SOURCEDIR) $(BUILDDIR)/html $(SPHINXOPTS) $(O)

# Autobuild the docs on changes

autobuild:
sphinx-autobuild -t $(DOC_TAG) -b html -d $(BUILDDIR)/doctrees $(SOURCEDIR) $(BUILDDIR)/html $(SPHINXOPTS)

# Remove generated content (Sphinx and doxygen)

clean:
Expand Down
11 changes: 7 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,13 @@ https://navigation.ros.org/
This folder holds the source and configuration files used to generate the
[Navigation2 documentation](https://navigation.ros.org) web site.

Dependencies for Build:
* `sudo apt install python3-pip`
* `pip3 install sphinx==3.5.0 breathe==4.28.0 sphinx_rtd_theme sphinxcontrib-plantuml jinja2==3.0.3`
Dependencies for Build:

``` bash
sudo apt install python3-pip
pip3 install -r requirements.txt
```

Build the docs locally with `make html` and you'll find the built docs entry point in `_build/html/index.html`.

Any images, diagrams, or videos are subject to their own copyrights, trademarks, and licenses.
Any images, diagrams, or videos are subject to their own copyrights, trademarks, and licenses.
Loading