-
Notifications
You must be signed in to change notification settings - Fork 25
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ogma-cli: Demo job for CI. Refs #136.
This commit adds a CI Job that checks that Ogma can generate a ROS monitoring package, and the package compiles correctly using the dockerfile generated with the ROS package.
- Loading branch information
1 parent
d6ccecc
commit d4cff67
Showing
5 changed files
with
77 additions
and
0 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
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") |