-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #26 from ichiro-its/prepare-for-version-1-0-0-release
Update informations
- Loading branch information
Showing
3 changed files
with
18 additions
and
17 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,30 @@ | ||
# ROS 2 Continuous Integration | ||
|
||
[![latest version](https://img.shields.io/github/v/release/ichiro-its/ros2-ci.svg)](https://github.com/ichiro-its/ros2-ci/releases/) | ||
[![license](https://img.shields.io/github/license/ichiro-its/ros2-ci.svg)](./LICENSE) | ||
[![workflows test status](https://github.com/ichiro-its/ros2-ci/actions/workflows/workflows-test.yml/badge.svg)](https://github.com/ichiro-its/ros2-ci/actions) | ||
[![latest version](https://img.shields.io/github/v/release/ichiro-its/ros2-ci)](https://github.com/ichiro-its/ros2-ci/releases/) | ||
[![commits since latest version](https://img.shields.io/github/commits-since/ichiro-its/ros2-ci/latest)](https://github.com/ichiro-its/ros2-ci/releases/) | ||
[![license](https://img.shields.io/github/license/ichiro-its/ros2-ci)](./LICENSE) | ||
[![test status](https://img.shields.io/github/workflow/status/ichiro-its/ros2-ci/Workflows%20Test?label=test)](https://github.com/ichiro-its/ros2-ci/actions) | ||
|
||
This action could be used as [a continuous integration (CI)](https://en.wikipedia.org/wiki/Continuous_integration) to build and test a [ROS 2](https://docs.ros.org/en/foxy/) project. | ||
This action could be used as a [continuous integration (CI)](https://en.wikipedia.org/wiki/Continuous_integration) to build and test a [ROS 2](https://docs.ros.org/en/foxy/) project. | ||
|
||
## How It Works? | ||
|
||
This action works by building and testing a ROS 2 project inside a [Docker](https://www.docker.com/)'s container using [the official ROS 2 Docker image](https://hub.docker.com/_/ros). | ||
To handle which ROS 2 environment to be used, this action uses [a Docker in Docker (DinD)](https://hub.docker.com/_/docker). | ||
This action works by building and testing a ROS 2 project inside a [Docker](https://www.docker.com/)'s container using the [official ROS 2 Docker image](https://hub.docker.com/_/ros). | ||
To handle which ROS 2 environment to be used, this action uses a [Docker in Docker (DinD)](https://hub.docker.com/_/docker). | ||
Hence the CI process happens inside the container's container, not just the first layer of the Docker's container for GitHub Actions. | ||
Although, The CI process is guaranteed to be fast (approximately 3-5 minutes, depends on each package) as almost every component of the ROS 2 has already been installed inside the Docker's image. | ||
|
||
To be able to build and test the project inside the repository, This action requires [the Checkout action](https://github.com/marketplace/actions/checkout). | ||
To be able to build and test the project inside the repository, This action requires the [Checkout](https://github.com/marketplace/actions/checkout) action. | ||
Before the build process, the project files will be put under the `/ws/repo` directory inside the container. | ||
Then, the build and test process will be done using [colcon](https://colcon.readthedocs.io/en/released/index.html) inside the `/ws` directory. | ||
After the test process happens, the build results (`build`, `install`, and `log`) will be copied inside the `/ws/repo/.ws`. | ||
|
||
The drawback of using this action is it still needs to install external dependencies that haven't been included in the ROS 2 default installation. | ||
But that problem could be solved by adding a `apt-packages` or a `pip-packages` input inside the action configuration (see [this](#Install-Several-Dependencies)) or by cloning external packages inside the `/ws` directory before the build process happens (see [this](#Include-External-Project)). | ||
But that problem could be solved by adding a `apt-packages` or a `pip-packages` input inside the action configuration (see [this](#Install-Several-Dependencies)) or by cloning external packages inside the `/ws` directory before the build process happens (see [this](#Include-External-repositories)). | ||
|
||
## Usage | ||
|
||
For more information, see [the action.yml](./action.yml) and [the GitHub Actions guide](https://docs.github.com/en/actions/learn-github-actions/introduction-to-github-actions). | ||
For more information, see [action.yml](./action.yml) and the [GitHub Actions guide](https://docs.github.com/en/actions/learn-github-actions/introduction-to-github-actions). | ||
|
||
### Default Usage | ||
|
||
|
@@ -41,15 +42,15 @@ jobs: | |
- name: Checking out | ||
uses: actions/[email protected] | ||
- name: Building and testing | ||
uses: ichiro-its/ros2-ci@v0.4.2 | ||
uses: ichiro-its/ros2-ci@v1.0.0 | ||
``` | ||
> This will be defaulted to use [ROS 2 Foxy Fitzroy](https://docs.ros.org/en/foxy/Releases/Release-Foxy-Fitzroy.html). | ||
### Using Different ROS 2 Distributin | ||
```yaml | ||
- name: Building and testing | ||
uses: ichiro-its/ros2-ci@v0.4.2 | ||
uses: ichiro-its/ros2-ci@v1.0.0 | ||
with: | ||
ros2-distro: rolling | ||
``` | ||
|
@@ -58,7 +59,7 @@ jobs: | |
```yaml | ||
- name: Building and testing | ||
uses: ichiro-its/ros2-ci@v0.4.2 | ||
uses: ichiro-its/ros2-ci@v1.0.0 | ||
with: | ||
apt-packages: libssh-dev libopencv-dev | ||
``` | ||
|
@@ -67,7 +68,7 @@ jobs: | |
```yaml | ||
- name: Building and testing | ||
uses: ichiro-its/ros2-ci@v0.4.2 | ||
uses: ichiro-its/ros2-ci@v1.0.0 | ||
with: | ||
post-test: ls .ws | ||
``` | ||
|
@@ -76,12 +77,12 @@ jobs: | |
```yaml | ||
- name: Building and testing | ||
uses: ichiro-its/ros2-ci@v0.4.2 | ||
uses: ichiro-its/ros2-ci@v1.0.0 | ||
with: | ||
ros2-distro: foxy | ||
external-repos: https://github.com/ros2/example_interfaces#foxy ros2/examples#foxy | ||
``` | ||
## License | ||
This project is licensed under the [MIT License](./LICENSE). | ||
This project is maintained by [ICHIRO ITS](https://github.com/ichiro-its) and licensed under the [MIT License](./LICENSE). |
This file contains 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