-
Notifications
You must be signed in to change notification settings - Fork 191
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
71 changed files
with
12,612 additions
and
1,232 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 |
---|---|---|
@@ -0,0 +1,162 @@ | ||
name: netopeer2 devel push | ||
on: | ||
push: | ||
branches: | ||
- devel | ||
|
||
env: | ||
DEFAULT_PACKAGES: libcmocka-dev zlib1g-dev libssh-dev libssl-dev | ||
COVERITY_PROJECT: CESNET%2FNetopeer2 | ||
|
||
jobs: | ||
git-branch: | ||
name: Get git branch | ||
runs-on: ubuntu-18.04 | ||
outputs: | ||
branch-name: ${{ steps.get-git-branch.outputs.branch-name }} | ||
steps: | ||
- id: get-git-branch | ||
run: | | ||
if ${{ github.event_name == 'push' }} | ||
then export GIT_BRANCH=`echo ${{ github.ref }} | cut -d'/' -f 3` | ||
else | ||
export GIT_BRANCH=${{ github.base_ref }} | ||
fi | ||
echo "::set-output name=branch-name::$GIT_BRANCH" | ||
build: | ||
name: ${{ matrix.config.name }} | ||
runs-on: ${{ matrix.config.os }} | ||
needs: git-branch | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
config: | ||
- { | ||
name: "Coverity", | ||
os: "ubuntu-latest", | ||
build-type: "Debug", | ||
dep-build-type: "Debug", | ||
cc: "clang", | ||
options: "", | ||
packages: "", | ||
snaps: "", | ||
make-prepend: "cov-build --dir cov-int", | ||
make-target: "" | ||
} | ||
- { | ||
name: "Codecov", | ||
os: "ubuntu-latest", | ||
build-type: "Debug", | ||
dep-build-type: "Debug", | ||
cc: "gcc", | ||
options: "-DENABLE_COVERAGE=ON", | ||
packages: "libcmocka-dev lcov", | ||
snaps: "", | ||
make-prepend: "", | ||
make-target: "" | ||
} | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Deps-packages | ||
shell: bash | ||
run: | | ||
sudo add-apt-repository ppa:kedazo/libssh-0.7.x -y | ||
sudo apt-get update | ||
sudo apt-get install $DEFAULT_PACKAGES ${{ matrix.config.packages }} | ||
if ${{ matrix.config.snaps != '' }} | ||
then sudo snap install ${{ matrix.config.snaps }} | ||
fi | ||
- name: Deps-coverity | ||
shell: bash | ||
working-directory: ${{ github.workspace }} | ||
run: | | ||
wget -q https://scan.coverity.com/download/linux64 --post-data "token=$TOKEN&project=$COVERITY_PROJECT" -O coverity-tools.tar.gz | ||
mkdir coverity-tools | ||
tar xzf coverity-tools.tar.gz --strip 1 -C coverity-tools | ||
env: | ||
TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }} | ||
if: ${{ matrix.config.name == 'Coverity' }} | ||
|
||
- name: Deps-libyang | ||
shell: bash | ||
run: | | ||
git clone -b ${{needs.git-branch.outputs.branch-name}} https://github.com/CESNET/libyang.git | ||
cd libyang | ||
mkdir build | ||
cd build | ||
CC=${{ matrix.config.cc }} cmake -DCMAKE_BUILD_TYPE=${{ matrix.config.dep-build-type }} -DENABLE_BUILD_TESTS=OFF .. | ||
make -j2 | ||
sudo make install | ||
- name: Deps-sysrepo | ||
shell: bash | ||
run: | | ||
git clone -b ${{needs.git-branch.outputs.branch-name}} https://github.com/sysrepo/sysrepo.git | ||
cd sysrepo | ||
mkdir build | ||
cd build | ||
CC=${{ matrix.config.cc }} cmake -DCMAKE_BUILD_TYPE=${{ matrix.config.build-type }} -DENABLE_TESTS=OFF .. | ||
make -j2 | ||
sudo make install | ||
- name: Deps-libnetconf2 | ||
shell: bash | ||
run: | | ||
git clone -b ${{needs.git-branch.outputs.branch-name}} https://github.com/CESNET/libnetconf2.git | ||
cd libnetconf2 | ||
mkdir build | ||
cd build | ||
CC=${{ matrix.config.cc }} cmake -DCMAKE_BUILD_TYPE=${{ matrix.config.build-type }} -DENABLE_BUILD_TESTS=OFF .. | ||
make -j2 | ||
sudo make install | ||
- name: Deps-update-ld-cache | ||
shell: bash | ||
run: sudo ldconfig | ||
|
||
- name: Configure | ||
shell: bash | ||
working-directory: ${{ github.workspace }} | ||
run: | | ||
mkdir build | ||
cd build | ||
CC=${{ matrix.config.cc }} cmake -DCMAKE_BUILD_TYPE=${{ matrix.config.build-type }} ${{ matrix.config.options }} .. | ||
- name: Build | ||
shell: bash | ||
working-directory: ${{ github.workspace }}/build | ||
run: | | ||
export LC_ALL=C.UTF-8 | ||
export PATH=/snap/bin:${{ github.workspace }}/coverity-tools/bin:$PATH | ||
${{ matrix.config.make-prepend }} make ${{ matrix.config.make-target }} | ||
- name: Test | ||
shell: bash | ||
working-directory: ${{ github.workspace }}/build | ||
run: ctest --output-on-failure | ||
|
||
- name: Upload to Coverity.com | ||
shell: bash | ||
working-directory: ${{ github.workspace }}/build | ||
run: | | ||
tar czvf netopeer2.tgz cov-int | ||
curl \ | ||
--form token=$TOKEN \ | ||
--form [email protected] \ | ||
--form [email protected] \ | ||
--form version="`./netopeer2-server -V | head -n1 | cut -d' ' -f 2`" \ | ||
--form description="netopeer2 NETCONF suite" \ | ||
https://scan.coverity.com/builds?project=$COVERITY_PROJECT | ||
env: | ||
TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }} | ||
if: ${{ matrix.config.name == 'Coverity' }} | ||
|
||
- name: Upload to Codecov.io | ||
shell: bash | ||
working-directory: ${{ github.workspace }}/build | ||
run: bash <(curl -s https://codecov.io/bash) | ||
if: ${{ matrix.config.name == 'Codecov' }} |
Oops, something went wrong.