Skip to content

Commit

Permalink
Merge branch 'master' into iox-eclipse-iceoryx#391-static-memory-alte…
Browse files Browse the repository at this point in the history
…rnative-for-std-function
  • Loading branch information
MatthiasKillat committed Feb 26, 2021
2 parents 713e0c0 + 6c79f0c commit 040a842
Show file tree
Hide file tree
Showing 929 changed files with 24,851 additions and 20,590 deletions.
32 changes: 23 additions & 9 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,34 @@
# codecov yaml
comment: yes # do not comment PR with the result
layout: "reach, diff, flags, files"
behavior: default
require_changes: yes # only post the comment if coverage changes
require_base: no
require_head: yes

coverage:
range: 50..90
range: 70..100

status:
project: # settings affecting project coverage
project:
default:
enabled: yes
target: auto # auto % coverage target
threshold: 100% # we allow here 100% change to unblock PRs (will be set later)

# do not run coverage on patch nor changes
target: 70%
threshold: 2% # allow coverage to drop maximum by a defined value
patch:
default:
enabled: yes
target: auto # auto % coverage target
threshold: 100% # we allow here 100% change to unblock PRs (will be set later)
changes: no
target: 70%
threshold: 2%
changes: yes

parsers:
gcov:
branch_detection:
conditional: yes
loop: yes
method: yes
macro: yes

fixes:
- "/home/runner/work/iceoryx/iceoryx/::"
11 changes: 5 additions & 6 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
## Pre-Review Checklist for the PR Author

1. [ ] Code follows the coding style of [CONTRIBUTING.md][contributing]
1. [ ] Tests follow the [best practice for testing][testing]
1. [ ] Branch follows the naming format (`iox-#123-this-is-a-branch`)
1. [ ] Commits messages are according to this [guideline][commit-guidelines]
- [ ] Commit messages have the issue ID (`iox-#123 commit text`)
Expand All @@ -10,11 +12,13 @@
- Link to the relevant issue
1. [ ] Relevant issues are linked
1. [ ] Add sensible notes for the reviewer
1. [ ] All checks have passed
1. [ ] All checks have passed (except `task-list-completed`)
1. [ ] Assign PR to reviewer

[commit-guidelines]: https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
[eca]: http://www.eclipse.org/legal/ECA.php
[contributing]: https://github.com/eclipse-iceoryx/iceoryx/blob/master/CONTRIBUTING.md#coding-style
[testing]: https://github.com/eclipse-iceoryx/iceoryx/blob/master/doc/website/advanced/best-practice-for-testing.md

## Notes for Reviewer
<!-- Items in addition to the checklist below that the reviewer should look for -->
Expand All @@ -32,11 +36,6 @@

1. [ ] All open points are addressed and tracked via issues

## Post-review Checklist for the Eclipse Committer

1. [ ] All checkboxes in the PR checklist are checked or crossed out
1. [ ] Merge

## References

- Closes **TBD**
96 changes: 41 additions & 55 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,78 +12,60 @@ on:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This job builds & runs iceoryx tests in ubuntu-18.04
ubuntu-iceoryx-meta:
# The type of runner that the job will run on
iceoryx-ubuntu:
runs-on: ubuntu-18.04

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- name: compiler versions
run: |
echo $(gcc --version)
echo $(clang --version)
- name: Install iceoryx dependencies
# Softwares installed in ubuntu-18.04 instance
# https://github.com/actions/virtual-environments/blob/master/images/linux/Ubuntu1804-README.md
run: sudo apt-get update && sudo apt-get install -y libacl1-dev libncurses5-dev
run: |
sudo apt-get update
sudo apt-get install -y libacl1-dev libncurses5-dev doxygen graphviz texlive-font-utils
sudo apt-get install -y plantuml texlive-latex-base texlive-latex-extra texlive-latex-recommended texlive-fonts-recommended
- name : Checkout
- name: Checkout
uses: actions/checkout@v2

- name: Build sources
run: |
export NUM_CORES=`nproc`
cmake -Bbuild -Hiceoryx_meta -Dtest=ON -Dbinding_c=ON -Dexamples=ON -Dintrospection=ON && cmake --build build -j$NUM_CORES
sudo $GITHUB_WORKSPACE/tools/add_test_users.sh
$GITHUB_WORKSPACE/tools/iceoryx_build_test.sh build-strict build-all out-of-tree build-shared test-add-user
- name: Run timeless tests
- name: Build debian package
run: |
cd $GITHUB_WORKSPACE/build
make tests
$GITHUB_WORKSPACE/tools/iceoryx_build_test.sh package
- name: Run timing tests
- name: Run all tests
run: |
cd $GITHUB_WORKSPACE/build
make timing_tests
tools/run_tests.sh all
- name: Build RouDi examples without TOML support
run: |
$GITHUB_WORKSPACE/tools/iceoryx_build_test.sh out-of-tree examples toml-config-off clean
ubuntu-build-script:
# The type of runner that the job will run on
runs-on: ubuntu-18.04
# This job builds & runs iceoryx tests in macos-10.14
iceoryx-macos:
runs-on: macos-10.14
# Softwares installed in macos-latest instance
# https://github.com/actions/virtual-environments/blob/master/images/macos/macos-10.14-Readme.md

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- name: Install iceoryx dependencies
# Softwares installed in ubuntu-18.04 instance
# https://github.com/actions/virtual-environments/blob/master/images/linux/Ubuntu1804-README.md
run: sudo apt-get update && sudo apt-get install -y libacl1-dev libncurses5-dev

- name : Checkout
- name: Checkout
uses: actions/checkout@v2

- name: Build sources
run: |
export NUM_CORES=`nproc`
$GITHUB_WORKSPACE/tools/iceoryx_build_test.sh build-test with-dds-gateway clean strict -j $NUM_CORES
- name: Run tests
- name: compiler version
run: |
cd $GITHUB_WORKSPACE/build
../tools/run_all_tests.sh
- name : Build sources (clang)
run: |
export CC=/usr/bin/clang
export CXX=/usr/bin/clang++
export NUM_CORES=`nproc`
$GITHUB_WORKSPACE/tools/iceoryx_build_test.sh build-test with-dds-gateway clean strict -j $NUM_CORES
# This job builds & runs iceoryx tests in macos-10.15
macos-build-script:
runs-on: macos-10.15
# Softwares installed in macos-10.15 instance
# https://github.com/actions/virtual-environments/blob/master/images/macos/macos-10.15-Readme.md

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- name : Checkout
uses: actions/checkout@v2
echo $(clang --version)
- name: Build ncurses from source
- name: Build and install dependencies
# tinfo library which is required by iceoryx_introspection isn't available in mac
run: |
cd $GITHUB_WORKSPACE
Expand All @@ -97,24 +79,28 @@ jobs:
make install
- name: Build sources
run: $GITHUB_WORKSPACE/tools/iceoryx_build_test.sh build-test clean strict
run: |
$GITHUB_WORKSPACE/tools/iceoryx_build_test.sh build-strict build-all out-of-tree
- name: Run tests
- name: Run tests, excluding timing_tests
run: |
cd $GITHUB_WORKSPACE/build
../tools/run_all_tests.sh disable-timing-tests
make all_tests
- name: Build RouDi examples without TOML support
run: |
$GITHUB_WORKSPACE/tools/iceoryx_build_test.sh out-of-tree examples toml-config-off clean
# This job builds & runs iceoryx tests in Windows 2019
windows-iceoryx-meta:
runs-on: windows-latest
iceoryx-windows:
runs-on: windows-2019
# Softwares installed in windows instance
# https://github.com/actions/virtual-environments/blob/master/images/win/Windows2019-Readme.md

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- name : Checkout
uses: actions/checkout@v2

- name: Build sources
run: |
cmake -Bbuild -Hiceoryx_meta -Ddds_gateway=OFF -Dtest=ON -Dbinding_c=ON -Dexamples=ON && cmake --build build
cmake -Bbuild -Hiceoryx_meta -DBUILD_TEST=ON -DINTROSPECTION=OFF -DBINDING_C=ON -DEXAMPLES=ON && cmake --build build
38 changes: 0 additions & 38 deletions .github/workflows/build_test_cov.yml

This file was deleted.

20 changes: 13 additions & 7 deletions .github/workflows/colcon.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,26 +10,29 @@ on:
pull_request:
branches: [ master ]

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
#runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04]

steps:
- name: compiler versions
run: |
echo $(gcc --version)
echo $(clang --version)
- name: Setup ROS
uses: ros-tooling/setup-ros@0.0.26
uses: ros-tooling/setup-ros@0.1.2
with:
required-ros-distributions: foxy

- name: Install Iceoryx Dependencies
run: |
sudo apt-get update && sudo apt-get install -y cmake libacl1-dev libncurses5-dev pkg-config
sudo apt install -y apt-transport-https
sudo apt update && sudo apt install -y cmake libacl1-dev libncurses5-dev pkg-config
mkdir -p src/iceoryx
cd $GITHUB_WORKSPACE/src/iceoryx
Expand All @@ -40,7 +43,10 @@ jobs:
run: |
source /opt/ros/foxy/setup.bash
cd $GITHUB_WORKSPACE
ament_copyright --exclude LICENSE CONTRIBUTING.md
sudo rm -rf /opt/ros/foxy/lib/python3.8/site-packages/ament_copyright/template/apache2_header.txt
sudo cp -rf $GITHUB_WORKSPACE/tools/apache2_header.txt /opt/ros/foxy/lib/python3.8/site-packages/ament_copyright/template/.
sudo sed -i '41 c\"'c'", "'cc'", "'cpp'", "'cxx'", "'h'", "'hh'", "'hpp'", "'hxx'", "'inl'", "'sh'"' /opt/ros/foxy/lib/python3.8/site-packages/ament_copyright/main.py
ament_copyright --exclude LICENSE CONTRIBUTING.md tools/apache2_header.txt
- name: Build & Test
run: |
Expand Down
65 changes: 65 additions & 0 deletions .github/workflows/coverage_doc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# This workflow run the coverage scan and generate the doxygen documentation in iceoryx

name: Test Coverage + Doxygen Documentation

# Triggers the workflow on push or pull request events but only for the master branch
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
iceoryx-coverage-doxygen-ubuntu:
runs-on: ubuntu-20.04

steps:
- name: compiler versions
run: |
echo $(gcc --version)
echo $(clang --version)
- name: Install iceoryx dependencies
# Softwares installed in ubuntu-18.04 instance
# https://github.com/actions/virtual-environments/blob/master/images/linux/Ubuntu1804-README.md
run: |
sudo apt-get update
sudo apt-get install -y libacl1-dev libncurses5-dev git cmake build-essential doxygen graphviz texlive-font-utils lcov
sudo apt-get install -y plantuml texlive-latex-base texlive-latex-extra texlive-latex-recommended texlive-fonts-recommended
- name : Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Build, test and generate gcov report
run: |
mkdir $GITHUB_WORKSPACE/lcov_results
mkdir $GITHUB_WORKSPACE/lcov_results/unittest
# add flag to include coverage
sudo $GITHUB_WORKSPACE/tools/add_test_users.sh
$GITHUB_WORKSPACE/tools/iceoryx_build_test.sh build-strict build-all test-add-user -c unit
cp -rf $GITHUB_WORKSPACE/build/lcov/ $GITHUB_WORKSPACE/lcov_results/unittest/
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
file: ./lcov_results/unittest/lcov/iceoryx_lcov_result_unit.info
name: iceoryx
flags: unittests
fail_ci_if_error: true

- name: Generate doxygen documentation
run: |
# add flag to include coverage
$GITHUB_WORKSPACE/tools/iceoryx_build_test.sh clean doc
- name: Archive generated doxygen
uses: actions/upload-artifact@v2
with:
name: iceoryx-pdf
path: |
./build/doc/*.pdf
retention-days: 30

Loading

0 comments on commit 040a842

Please sign in to comment.