Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: john30/ebusd
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v21.2
Choose a base ref
...
head repository: john30/ebusd
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref

Commits on Feb 9, 2021

  1. fix deb build

    john30 committed Feb 9, 2021
    Copy the full SHA
    e2f8ae0 View commit details

Commits on Feb 14, 2021

  1. Copy the full SHA
    02d2845 View commit details
  2. test dquote escaping

    john30 committed Feb 14, 2021
    Copy the full SHA
    6cc5b66 View commit details
  3. Copy the full SHA
    c1e7ba5 View commit details
  4. Copy the full SHA
    024bf84 View commit details
  5. Copy the full SHA
    65c96d6 View commit details

Commits on Feb 20, 2021

  1. Copy the full SHA
    e3fb45b View commit details
  2. Copy the full SHA
    3e81e4a View commit details
  3. Copy the full SHA
    b98558b View commit details
  4. Copy the full SHA
    d2c6909 View commit details

Commits on Feb 24, 2021

  1. Update make_debian.sh

    Typo in make_debian.sh
    WK committed Feb 24, 2021
    Copy the full SHA
    2dc5317 View commit details

Commits on Mar 7, 2021

  1. Merge pull request #400 from wak-github/make_debian.sh-typo

    correct update-rc.d call
    john30 authored Mar 7, 2021
    Copy the full SHA
    af09988 View commit details

Commits on Mar 14, 2021

  1. add github sponsors link

    john30 authored Mar 14, 2021
    Copy the full SHA
    86b700c View commit details

Commits on Mar 20, 2021

  1. fix 'Compatibility with CMake < 2.8.12 will be removed' warning.

    Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
    
    Original warning:
    CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
      Compatibility with CMake < 2.8.12 will be removed from a future version of
      CMake.
    
      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.
    kratz00 committed Mar 20, 2021
    Copy the full SHA
    d7c124a View commit details
  2. fix CMake CMP0075 warning

    Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
    
    Original warning:
      CMake Warning (dev) at /usr/share/cmake-3.19/Modules/CheckIncludeFile.cmake:80 (message):
      Policy CMP0075 is not set: Include file check macros honor
      CMAKE_REQUIRED_LIBRARIES.  Run "cmake --help-policy CMP0075" for policy
      details.  Use the cmake_policy command to set the policy and suppress this
      warning.
    
      CMAKE_REQUIRED_LIBRARIES is set to:
    
        pthread;rt
    
      For compatibility with CMake 3.11 and below this check is ignoring it.
    Call Stack (most recent call first):
      CMakeLists.txt:56 (check_include_file)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    kratz00 committed Mar 20, 2021
    Copy the full SHA
    bd72da2 View commit details
  3. fix for CMake out of source builds not getting Git revision

    Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
    
    Original warning:
    fatal: not a git repository (or any of the parent directories): .git
    kratz00 committed Mar 20, 2021
    Copy the full SHA
    049e70b View commit details

Commits on Mar 27, 2021

  1. more DEBUG_RAW_TRAFFIC logging

    john30 committed Mar 27, 2021
    Copy the full SHA
    dc1a1ec View commit details

Commits on Apr 2, 2021

  1. new enum type for OutputFormat, add level/pollprio/condition to HTTP …

    …GET and extend message key by circuit/direction/condition for OF_ALL_ATTRS, start message dump in JSON format
    john30 committed Apr 2, 2021
    Copy the full SHA
    38bfc7a View commit details
  2. Copy the full SHA
    7b112c4 View commit details
  3. set listener early

    john30 committed Apr 2, 2021
    Copy the full SHA
    891681a View commit details
  4. Copy the full SHA
    36b947a View commit details
  5. adjust to new OutputFormat

    john30 committed Apr 2, 2021
    Copy the full SHA
    bafe634 View commit details
  6. adjust to new OutputFormat

    john30 committed Apr 2, 2021
    Copy the full SHA
    253dcc1 View commit details
  7. Copy the full SHA
    9066622 View commit details

Commits on Apr 5, 2021

  1. add more EXP tests

    john30 committed Apr 5, 2021
    Copy the full SHA
    4d11cf6 View commit details
  2. add = operators

    john30 committed Apr 5, 2021
    Copy the full SHA
    058c7d6 View commit details
  3. add CTest

    john30 committed Apr 5, 2021
    Copy the full SHA
    ca3bb9b View commit details
  4. switch to openapi

    john30 committed Apr 5, 2021
    Copy the full SHA
    d2fab9f View commit details
  5. fix logging (#404)

    john30 committed Apr 5, 2021
    Copy the full SHA
    ae4488d View commit details
  6. Copy the full SHA
    db524b9 View commit details

Commits on Apr 11, 2021

  1. run ebusd for proof of working

    john30 committed Apr 11, 2021
    Copy the full SHA
    c8a4ad5 View commit details

Commits on Apr 12, 2021

  1. fix unused variable warnings.

    Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
    kratz00 committed Apr 12, 2021
    Copy the full SHA
    676c330 View commit details
  2. fix ISO C++11 does not allow conversion from string literal to 'char *'

    Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
    kratz00 committed Apr 12, 2021
    Copy the full SHA
    7c699be View commit details
  3. fix conversion from 'long unsigned int' to 'int' warning

    Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
    kratz00 committed Apr 12, 2021
    Copy the full SHA
    b6be30f View commit details

Commits on Apr 18, 2021

  1. Copy the full SHA
    c69dfa7 View commit details

Commits on May 6, 2021

  1. Merge pull request #409 from kratz00/gcc_10_warning_fixes

    gcc 10 warning fixes
    john30 authored May 6, 2021
    Copy the full SHA
    88e6eec View commit details
  2. Merge pull request #408 from kratz00/cmake_fixes

    CMake fixes
    john30 authored May 6, 2021
    Copy the full SHA
    fb5ab14 View commit details

Commits on Sep 6, 2021

  1. fix compiler warning: loop variable creates a copy from type

    Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
    kratz00 committed Sep 6, 2021
    Copy the full SHA
    251ddce View commit details

Commits on Sep 11, 2021

  1. Copy the full SHA
    3f347d0 View commit details
  2. prefer constants

    john30 committed Sep 11, 2021
    Copy the full SHA
    6019601 View commit details
  3. Copy the full SHA
    2678d95 View commit details

Commits on Sep 12, 2021

  1. Copy the full SHA
    e5b5df7 View commit details

Commits on Oct 3, 2021

  1. Merge pull request #447 from kratz00/range-loop-construct

    fix compiler warning: loop variable creates a copy from type
    john30 authored Oct 3, 2021
    Copy the full SHA
    df8085c View commit details
  2. add config override path

    john30 committed Oct 3, 2021
    Copy the full SHA
    1c5c15a View commit details
  3. Copy the full SHA
    bfd4650 View commit details

Commits on Oct 9, 2021

  1. Copy the full SHA
    cd689b8 View commit details
  2. Copy the full SHA
    866daf9 View commit details
  3. fix previous commit

    john30 committed Oct 9, 2021
    Copy the full SHA
    24a6525 View commit details
  4. Update make_debian.sh

    john30 authored Oct 9, 2021
    Copy the full SHA
    8318e79 View commit details
  5. Update Dockerfile.arm32v5

    john30 authored Oct 9, 2021
    Copy the full SHA
    7811c07 View commit details
Showing with 20,644 additions and 7,892 deletions.
  1. +16 −0 .dockerignore
  2. +2 −2 .github/FUNDING.yml
  3. +133 −0 .github/ISSUE_TEMPLATE/bug_report.yml
  4. +5 −0 .github/ISSUE_TEMPLATE/config.yml
  5. +14 −0 .github/ISSUE_TEMPLATE/feature_request.yml
  6. +6 −0 .github/dependabot.yml
  7. +57 −0 .github/workflows/build.yml
  8. +51 −0 .github/workflows/coverage.yml
  9. +68 −0 .github/workflows/preparerelease.yml
  10. +36 −0 .github/workflows/release.yml
  11. +5 −6 .gitignore
  12. +0 −22 .travis.yml
  13. +86 −19 CMakeLists.txt
  14. +207 −0 ChangeLog.md
  15. +26 −1 Makefile.am
  16. +38 −20 README.md
  17. +1 −1 VERSION
  18. +5 −0 codecov.yml
  19. +29 −2 config.h.cmake
  20. +62 −28 configure.ac
  21. +31 −0 contrib/alpine/APKBUILD
  22. +37 −0 contrib/alpine/APKBUILD.git
  23. +3 −0 contrib/alpine/build-git.sh
  24. +3 −0 contrib/alpine/build.sh
  25. +8 −4 contrib/archlinux/PKGBUILD
  26. +5 −2 contrib/archlinux/PKGBUILD.git
  27. +3 −0 contrib/archlinux/build-git.sh
  28. +3 −0 contrib/archlinux/build.sh
  29. +2 −1 contrib/archlinux/ebusd.install
  30. +1 −1 contrib/archlinux/systemd/ebusd.service
  31. +5 −5 contrib/config/README.md
  32. +15 −7 contrib/config/index.php
  33. +1 −1 contrib/debian/default/ebusd
  34. +31 −16 contrib/docker/Dockerfile
  35. +0 −43 contrib/docker/Dockerfile.arm32v5
  36. +0 −43 contrib/docker/Dockerfile.arm32v7
  37. +0 −43 contrib/docker/Dockerfile.arm64v8
  38. +0 −43 contrib/docker/Dockerfile.i386
  39. +32 −17 contrib/docker/Dockerfile.release
  40. +0 −43 contrib/docker/Dockerfile.release.arm32v5
  41. +0 −43 contrib/docker/Dockerfile.release.arm32v7
  42. +0 −43 contrib/docker/Dockerfile.release.arm64v8
  43. +0 −43 contrib/docker/Dockerfile.release.i386
  44. +35 −20 contrib/docker/Dockerfile.template
  45. +44 −16 contrib/docker/README.md
  46. +66 −17 contrib/docker/build.sh
  47. +203 −0 contrib/docker/docker-compose.example.yaml
  48. +0 −5 contrib/docker/manifest.template
  49. +31 −46 contrib/docker/update.sh
  50. +1 −2 contrib/etc/ebusd/broadcast.csv
  51. +79 −0 contrib/etc/ebusd/knx.cfg
  52. +438 −0 contrib/etc/ebusd/mqtt-hassio.cfg
  53. +206 −0 contrib/etc/ebusd/mqtt-integration.cfg
  54. +3 −3 contrib/gentoo/conf.d/ebusd
  55. +11 −8 contrib/gentoo/init.d/ebusd
  56. +13 −0 contrib/gentoo/systemd/ebusd.service
  57. +848 −0 contrib/html/openapi.yaml
  58. +0 −457 contrib/html/swagger.yaml
  59. +0 −2 contrib/munin/README.md
  60. +17 −6 contrib/munin/ebusd_
  61. +3 −3 contrib/scripts/makegrabcsv.sh
  62. +1 −1 contrib/scripts/readall.sh
  63. +1 −1 contrib/scripts/readallvaillantregisters.sh
  64. +2 −1 contrib/updatecheck/README.md
  65. +17 −4 contrib/updatecheck/calcversions.sh
  66. +16 −8 contrib/updatecheck/index.php
  67. +41 −17 contrib/updatecheck/prepend.inc
  68. +65 −78 docs/enhanced_proto.md
  69. +58 −36 make_debian.sh
  70. +21 −13 src/ebusd/CMakeLists.txt
  71. +29 −21 src/ebusd/Makefile.am
  72. +198 −923 src/ebusd/bushandler.cpp
  73. +41 −391 src/ebusd/bushandler.h
  74. +27 −10 src/ebusd/datahandler.cpp
  75. +23 −10 src/ebusd/datahandler.h
  76. +952 −0 src/ebusd/knxhandler.cpp
  77. +285 −0 src/ebusd/knxhandler.h
  78. +391 −1,146 src/ebusd/main.cpp
  79. +39 −60 src/ebusd/main.h
  80. +694 −0 src/ebusd/main_args.cpp
  81. +691 −442 src/ebusd/mainloop.cpp
  82. +61 −68 src/ebusd/mainloop.h
  83. +34 −0 src/ebusd/mqttclient.cpp
  84. +158 −0 src/ebusd/mqttclient.h
  85. +319 −0 src/ebusd/mqttclient_mosquitto.cpp
  86. +81 −0 src/ebusd/mqttclient_mosquitto.h
  87. +832 −542 src/ebusd/mqtthandler.cpp
  88. +75 −31 src/ebusd/mqtthandler.h
  89. +40 −54 src/ebusd/network.cpp
  90. +28 −192 src/ebusd/network.h
  91. +143 −0 src/ebusd/request.cpp
  92. +230 −0 src/ebusd/request.h
  93. +564 −0 src/ebusd/scan.cpp
  94. +222 −0 src/ebusd/scan.h
  95. +13 −14 src/lib/ebus/CMakeLists.txt
  96. +13 −14 src/lib/ebus/Makefile.am
  97. +2 −4 src/lib/ebus/contrib/CMakeLists.txt
  98. +3 −1 src/lib/ebus/contrib/Makefile.am
  99. +1 −1 src/lib/ebus/contrib/contrib.cpp
  100. +1 −1 src/lib/ebus/contrib/contrib.h
  101. +11 −6 src/lib/ebus/contrib/tem.cpp
  102. +1 −1 src/lib/ebus/contrib/tem.h
  103. +2 −0 src/lib/ebus/contrib/test/CMakeLists.txt
  104. +4 −4 src/lib/ebus/contrib/test/test_tem.cpp
  105. +260 −79 src/lib/ebus/data.cpp
  106. +98 −20 src/lib/ebus/data.h
  107. +749 −334 src/lib/ebus/datatype.cpp
  108. +215 −40 src/lib/ebus/datatype.h
  109. +0 −737 src/lib/ebus/device.cpp
  110. +50 −250 src/lib/ebus/device.h
  111. +93 −0 src/lib/ebus/device_enhanced.h
  112. +654 −0 src/lib/ebus/device_trans.cpp
  113. +242 −0 src/lib/ebus/device_trans.h
  114. +97 −5 src/lib/ebus/filereader.cpp
  115. +27 −3 src/lib/ebus/filereader.h
  116. +295 −150 src/lib/ebus/message.cpp
  117. +168 −40 src/lib/ebus/message.h
  118. +340 −0 src/lib/ebus/protocol.cpp
  119. +627 −0 src/lib/ebus/protocol.h
  120. +895 −0 src/lib/ebus/protocol_direct.cpp
  121. +227 −0 src/lib/ebus/protocol_direct.h
  122. +2 −2 src/lib/ebus/result.cpp
  123. +1 −1 src/lib/ebus/result.h
  124. BIN src/{ebusd → lib/ebus}/states.png
  125. +545 −0 src/lib/ebus/stringhelper.cpp
  126. +284 −0 src/lib/ebus/stringhelper.h
  127. +33 −7 src/lib/ebus/symbol.cpp
  128. +79 −23 src/lib/ebus/symbol.h
  129. +2 −0 src/lib/ebus/test/CMakeLists.txt
  130. +2 −0 src/lib/ebus/test/test.csv
  131. +614 −453 src/lib/ebus/test/test_data.cpp
  132. +1 −1 src/lib/ebus/test/test_device.cpp
  133. +72 −1 src/lib/ebus/test/test_filereader.cpp
  134. +80 −51 src/lib/ebus/test/test_message.cpp
  135. +1 −1 src/lib/ebus/test/test_symbol.cpp
  136. +360 −0 src/lib/ebus/transport.cpp
  137. +335 −0 src/lib/ebus/transport.h
  138. +17 −0 src/lib/knx/CMakeLists.txt
  139. +17 −0 src/lib/knx/Makefile.am
  140. +101 −0 src/lib/knx/knx.cpp
  141. +193 −0 src/lib/knx/knx.h
  142. +128 −0 src/lib/knx/knxd.h
  143. +663 −0 src/lib/knx/knxnet.h
  144. +3 −1 src/lib/utils/CMakeLists.txt
  145. +3 −1 src/lib/utils/Makefile.am
  146. +427 −0 src/lib/utils/arg.cpp
  147. +106 −0 src/lib/utils/arg.h
  148. +7 −1 src/lib/utils/clock.cpp
  149. +7 −1 src/lib/utils/clock.h
  150. +420 −25 src/lib/utils/httpclient.cpp
  151. +128 −14 src/lib/utils/httpclient.h
  152. +35 −10 src/lib/utils/log.cpp
  153. +3 −5 src/lib/utils/log.h
  154. +1 −1 src/lib/utils/notify.h
  155. +7 −9 src/lib/utils/queue.h
  156. +1 −1 src/lib/utils/rotatefile.cpp
  157. +1 −1 src/lib/utils/rotatefile.h
  158. +551 −68 src/lib/utils/tcpsocket.cpp
  159. +67 −17 src/lib/utils/tcpsocket.h
  160. +20 −7 src/lib/utils/thread.cpp
  161. +3 −2 src/lib/utils/thread.h
  162. +5 −10 src/tools/CMakeLists.txt
  163. +3 −10 src/tools/Makefile.am
  164. +66 −24 src/tools/README.md
  165. +124 −83 src/tools/ebusctl.cpp
  166. +42 −50 src/tools/ebusfeed.cpp
  167. +413 −95 src/tools/ebuspicloader.cpp
  168. +2 −2 test_all.sh
  169. +177 −77 test_coverage.sh
16 changes: 16 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
.cmake
.git
.github
.idea
.run
cmake-*
**/CMakeFiles
contrib/*
!contrib/debian
!contrib/docker/docker-entrypoint.sh
!contrib/etc
dump*
gen
Testing
src/ebusd/ebusd*
*.deb
4 changes: 2 additions & 2 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# These are supported funding model platforms

github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
github: john30
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
@@ -9,4 +9,4 @@ community_bridge: # Replace with a single Community Bridge project-name e.g., cl
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: ['https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5Y52QSKVXLYQG']
custom: 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5Y52QSKVXLYQG'
133 changes: 133 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
---
name: Bug report
description: Create a report to help us improve
labels:
- needs analysis
body:
- type: textarea
id: description
attributes:
label: Description
description: A clear and concise description of what the bug is. Anything related to actual message definitions in [ebusd-configuration](https://github.com/john30/ebusd-configuration), [eBUS Adapter Shield v5](https://github.com/john30/ebusd-esp32), serial bridge in [ebusd-esp](https://github.com/john30/ebusd-esp), or [eBUS adapter v3/v2](https://github.com/eBUS/adapter) do not belong here! Use the appropriate repository for those.
placeholder: e.g. during startup, an error message as described below is reported instead of...
validations:
required: true
- type: textarea
id: actual_behaviour
attributes:
label: Actual behavior
description: A clear and concise description of what you expected to happen.
placeholder: e.g. when starting ebusd, it gives an error message...
validations:
required: true
- type: textarea
id: expected_behaviour
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen.
placeholder: e.g. when starting ebusd, it should not give an error message...
validations:
required: true
- type: dropdown
id: version
attributes:
label: ebusd version
description: the ebusd version in use
options:
- current source from git
- '24.1'
- '23.3'
- '23.2'
- '23.1'
- '22.4'
- '22.3'
- '22.2'
- '22.1'
- '21.3'
- '21.2'
- other
validations:
required: true
- type: input
id: args
attributes:
label: ebusd arguments
description: the arguments with which ebusd is started (including the ENV vars starting with EBUSD_)
placeholder: e.g. copy the EBUSD_OPTS line from /etc/default/ebusd
validations:
required: true
- type: dropdown
id: os
attributes:
label: Operating system
description: the operating system in use
options:
- Debian 12 (Bookworm) / Ubuntu 22-23 / Raspberry Pi OS 12 (including lite)
- Debian 11 (Bullseye) / Ubuntu 20-21 / Raspbian 11 / Raspberry Pi OS 11 (including lite)
- Debian 10 (Buster) / Ubuntu 18-19 / Raspbian 10 / Raspberry Pi OS 10 (including lite)
- Debian 9 (Stretch) / Ubuntu 16-17 / Raspbian 9 / Raspberry Pi OS 9 (including lite)
- other
validations:
required: true
- type: dropdown
id: architecture
attributes:
label: CPU architecture
description: the CPU architecture in use (output of `dpkg --print-architecture` or `uname -m`)
options:
- x64
- i386
- armv7l
- arm64
- other
validations:
required: true
- type: dropdown
id: docker
attributes:
label: Dockerized
description: indicate if a docker container is used
options:
- devel
- latest
- same as ebusd version
- other
- type: dropdown
id: interface
attributes:
label: Hardware interface
description: the eBUS hardware interface in use
options:
- Adapter Shield v5 via USB
- Adapter Shield v5 via WiFi
- Adapter Shield v5 via Ethernet
- Adapter Shield v5 via Raspberry GPIO
- Adapter v3 USB
- Adapter v3 WiFi
- Adapter v3 Ethernet
- Adapter v3 RPi
- Adapter v2
- other
validations:
required: true
- type: dropdown
id: integration
attributes:
label: Related integration
description: the integration to which this issue is related
multiple: true
options:
- TCP (cmdline client like ebusctl or netcat)
- HTTP
- MQTT generic
- MQTT Home Assistant via mqtt-hassio.cfg
- KNX
- other
- type: textarea
id: logs
attributes:
label: Logs
description: Relevant ebusd log lines found in /var/log/ebusd.log
placeholder: e.g. paste the lines from /var/log/ebusd.log
validations:
required: true
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Discussions
url: https://github.com/john30/ebusd/discussions
about: Please ask and answer questions here.
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
name: Feature request
description: Suggest an idea for this project
labels:
- needs analysis
body:
- type: textarea
id: description
attributes:
label: Description
description: A clear and concise description of the requested feature, additional behaviour, different functionality. Anything related to actual message definitions in ebusd-configuration, serial bridge in ebusd-esp, or adapter v5/v3/v2 do not belong here! Use the appropriate repository for those.
placeholder: e.g. add direct integration with xxx...
validations:
required: true
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
57 changes: 57 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Build

on:
push:
branches:
- master
paths:
- 'src/**'
- 'autogen.sh'
- 'config*'
- 'Makefile*'
- 'make_debian.sh'
- 'contrib/docker/**'
workflow_dispatch:
inputs:
limitarch:
description: Limit to this architecture
required: false
type: choice
options:
- ''
- amd64
- '386'
- arm/v7
- arm64
jobs:
build:
runs-on: ubuntu-latest
steps:
-
name: checkout
uses: actions/checkout@v4
-
name: gh-describe
id: gittag
uses: proudust/gh-describe@v2.1.0
-
name: set up QEMU
uses: docker/setup-qemu-action@v3
-
name: set up buildx
id: buildx
uses: docker/setup-buildx-action@v3
with:
buildkitd-flags: --debug
-
name: login to docker hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: build
run: cd contrib/docker && GIT_BRANCH=${GITHUB_REF##*/} ./build.sh
env:
GIT_REVISION: ${{ steps.gittag.outputs.describe }}
LIMITARCH: ${{ github.event.inputs.limitarch }}
51 changes: 51 additions & 0 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Coverage

on:
push:
branches: [ master ]
workflow_dispatch:
# inputs:
# debug_enabled:
# description: 'Run with tmate'
# required: false
# default: ''
jobs:
coverage:
runs-on: ubuntu-latest
steps:
-
name: checkout
uses: actions/checkout@v4
-
name: packages
run: sudo apt-get update && sudo apt-get install -y libmosquitto1 libmosquitto-dev libssl3 libssl-dev
-
name: build
run: cmake -Dcoverage=1 -DBUILD_TESTING=1 . && make
-
name: test regular
run: cd src/lib/ebus/test && ./test_symbol && ./test_filereader && ./test_data && ./test_message
-
name: test contrib
run: cd src/lib/ebus/contrib/test && ./test_contrib
# -
# name: setup tmate
# uses: mxschmitt/action-tmate@v3.7
# if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled }}
# timeout-minutes: 15
# with:
# limit-access-to-actor: true
-
name: test coverage
run: ./test_coverage.sh
-
name: push result
uses: codecov/codecov-action@v4
with:
name: codecov-umbrella
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true
verbose: true
gcov: true
gcov_args: -pb
path_to_write_report: ./coverage_report.txt
68 changes: 68 additions & 0 deletions .github/workflows/preparerelease.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Prepare Release

on:
release:
types: [ created ]
push:
branches: [ master ]
paths:
- 'VERSION'
- '.github/workflows/preparerelease.yml'
workflow_dispatch:
inputs:
limitarch:
description: Limit to this architecture
required: false
type: choice
options:
- ''
- amd64
- '386'
- arm/v7
- arm64
limitimg:
description: Limit to this image
required: false
type: choice
options:
- ''
- bookworm
- bullseye
- buster

jobs:
prepare-release:
runs-on: ubuntu-latest
steps:
-
name: checkout
uses: actions/checkout@v4
-
name: gh-describe
id: gittag
uses: proudust/gh-describe@v2.1.0
-
name: set up QEMU
uses: docker/setup-qemu-action@v3
-
name: set up buildx
id: buildx
uses: docker/setup-buildx-action@v3
with:
buildkitd-flags: --debug
-
name: build
run: cd contrib/docker && ./update.sh all && ./build.sh deb
env:
UPLOAD_URL: ${{ secrets.UPLOAD_URL }}
UPLOAD_CREDENTIALS: ${{ secrets.UPLOAD_CREDENTIALS }}
GIT_REVISION: ${{ steps.gittag.outputs.describe }}
LIMITARCH: ${{ github.event.inputs.limitarch }}
LIMITIMG: ${{ github.event.inputs.limitimg }}
-
name: archive
uses: actions/upload-artifact@v4
with:
name: debian packages
path: |
contrib/docker/out
Loading