-
Notifications
You must be signed in to change notification settings - Fork 31
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'develop-ros-dockerfile' into develop. Close #136.
**Description** Ogma doesn't currently generate a Dockerfile with the ROS packages. That makes it harder for users to know how to use the produce of Copilot. **Type** - Feature: Complementing new feature. **Additional context** None. **Requester** - Ivan Perez **Method to check presence of bug** Not applicable (not a bug). **Expected result** Running the ROS command should produce a Dockerfile with the ROS package that can be used to compile the package. **Proposed solution** Add a dockerfile to the list of files produced. Modify the README to document how to use the generated file. Introduce a new CI job that builds a demo using the ros backend and compiles the result using the generated Dockerfile. **Further notes** None.
- Loading branch information
Showing
14 changed files
with
121 additions
and
11 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
name: ros-ghc-8.6-cabal-2.4 | ||
|
||
# Trigger the workflow on push or pull request | ||
on: | ||
- pull_request | ||
- push | ||
|
||
jobs: | ||
cabal: | ||
name: ${{ matrix.os }} / ghc ${{ matrix.ghc }} | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
os: [ubuntu-latest] | ||
cabal: ["2.4"] | ||
ghc: | ||
- "8.6" | ||
|
||
steps: | ||
|
||
- uses: haskell-actions/setup@main | ||
id: setup-haskell-cabal | ||
name: Setup Haskell | ||
with: | ||
ghc-version: ${{ matrix.ghc }} | ||
cabal-version: ${{ matrix.cabal }} | ||
|
||
- name: Prepare environment | ||
run: | | ||
echo "$HOME/.ghcup/bin" >> $GITHUB_PATH | ||
echo "$HOME/.cabal/bin" >> $GITHUB_PATH | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Create sandbox | ||
run: | | ||
echo "$PWD/.cabal-sandbox/bin" >> $GITHUB_PATH | ||
cabal v1-sandbox init | ||
- name: Install dependencies | ||
run: | | ||
cabal v1-install alex happy | ||
- name: Install ogma | ||
run: | | ||
cabal v1-install copilot ogma-**/ --constraint="copilot >= 3.19.1" | ||
- name: Generate ROS app | ||
run: | | ||
ogma ros --app-target-dir demo --variable-db ogma-cli/examples/ros-copilot/vars-db --variable-file ogma-cli/examples/ros-copilot/variables --handlers-file ogma-cli/examples/ros-copilot/handlers | ||
cabal v1-exec -- runhaskell ogma-cli/examples/ros-copilot/ROS.hs | ||
find demo/ | ||
cd demo/ | ||
docker build . |
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
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 |
---|---|---|
@@ -0,0 +1,20 @@ | ||
import Copilot.Compile.C99 | ||
import Copilot.Language | ||
import Language.Copilot (reify) | ||
import Prelude hiding (not, (>=)) | ||
|
||
inputSignal :: Stream Int64 | ||
inputSignal = extern "input_signal" Nothing | ||
|
||
propTestCopilot :: Stream Bool | ||
propTestCopilot = inputSignal >= 5 | ||
|
||
spec :: Spec | ||
spec = do | ||
trigger "handlerTestCopilot" (not propTestCopilot) [] | ||
|
||
main :: IO () | ||
main = reify spec >>= compileWith settings "monitor" | ||
where | ||
settings = mkDefaultCSettings | ||
{ cSettingsOutputDirectory = "demo/copilot/src/" } |
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 |
---|---|---|
@@ -0,0 +1 @@ | ||
handlerTestCopilot |
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 |
---|---|---|
@@ -0,0 +1 @@ | ||
input_signal |
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 |
---|---|---|
@@ -0,0 +1 @@ | ||
("input_signal","int64_t","/demo/topic","int64_t") |
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
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 |
---|---|---|
@@ -0,0 +1,16 @@ | ||
FROM osrf/space-ros:latest | ||
|
||
ARG USER=spaceros-user | ||
ARG PACKAGE_PATH=/home/${USER}/monitors | ||
ARG ROS_PATH=/home/${USER}/spaceros/ | ||
|
||
RUN mkdir -p ${PACKAGE_PATH}/src/ | ||
ADD copilot ${PACKAGE_PATH}/src/copilot | ||
USER root | ||
RUN chown -R ${USER} ${PACKAGE_PATH} | ||
USER ${USER} | ||
|
||
SHELL ["/bin/bash", "-c"] | ||
WORKDIR ${PACKAGE_PATH} | ||
RUN source ${ROS_PATH}/install/setup.bash && \ | ||
colcon build |
File renamed without changes.
File renamed without changes.
File renamed without changes.