Skip to content

Commit 95b8cbe

Browse files
authored
Merge pull request #1819 from peternewman/master-resync
Master resync
2 parents 7479608 + 8a56175 commit 95b8cbe

24 files changed

Lines changed: 730 additions & 322 deletions
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"problemMatcher": [
3+
{
4+
"owner": "lint-check-licences",
5+
"pattern": [
6+
{
7+
"regexp": "^(notice|error)(:(file|dir):([^:]+)(:lines? (\\d+)(-(\\d+))?)?)?: (.+)$",
8+
"severity": 1,
9+
"file": 4,
10+
"line": 6,
11+
"message": 9
12+
}
13+
]
14+
}
15+
]
16+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"problemMatcher": [
3+
{
4+
"owner": "lint-cpplint",
5+
"severity": "error",
6+
"pattern": [
7+
{
8+
"regexp": "^(.+):(\\d+):\\s+((.+)\\s+\\[(.*)\\]\\s\\[(.*)\\])$",
9+
"file": 1,
10+
"line": 2,
11+
"message": 3,
12+
"code": 5
13+
}
14+
]
15+
}
16+
]
17+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"problemMatcher": [
3+
{
4+
"owner": "lint-generic-nolints",
5+
"pattern": [
6+
{
7+
"regexp": "^(notice|error)(:(file|dir):([^:]+)(:lines? (\\d+)(-(\\d+))?)?)?: (.+)$",
8+
"severity": 1,
9+
"file": 4,
10+
"line": 6,
11+
"message": 9
12+
}
13+
]
14+
}
15+
]
16+
}

.github/workflows/annotation.yml

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,3 @@ jobs:
1212
- name: Flake8 with annotations - Python 2
1313
# Using the flake8 options in the .flake8 file
1414
uses: TrueBrain/actions-flake8@main
15-
flake8-annotation-python3:
16-
runs-on: ubuntu-latest
17-
steps:
18-
- uses: actions/checkout@master
19-
- uses: actions/setup-python@v4
20-
with:
21-
python-version: '3.10'
22-
- name: Flake8 with annotations - Python 3
23-
# Using the flake8 options in the .flake8 file
24-
uses: TrueBrain/actions-flake8@main

.github/workflows/lint.yaml

Lines changed: 196 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,196 @@
1+
name: lint
2+
on: [push, pull_request]
3+
jobs:
4+
build:
5+
name: Build for Lint Tasks
6+
runs-on: ubuntu-latest
7+
container: debian:stable
8+
steps:
9+
- name: Update package database
10+
run: apt-get update -y
11+
# See comments beginning at
12+
# https://github.com/actions/runner/issues/763#issuecomment-1435474884
13+
# Without Git, actions/checkout@v3 will resort to REST and will not
14+
# create a .git folder or .git.config. The Problem Matcher looks for
15+
# .git/config to find where the root of the repo is, so it must be
16+
# present.
17+
- name: Install Git
18+
run: apt-get -y install git
19+
- uses: actions/checkout@v3
20+
- name: Install build tools
21+
shell: bash
22+
run: |
23+
apt-get -y install pkg-config libtool autoconf \
24+
automake g++ bison flex make bash-completion dh-autoreconf \
25+
debhelper devscripts wget python3-pip
26+
- name: Install Python lint tools
27+
run: python3 -m pip install --no-input cpplint flake8
28+
- name: Install build dependencies
29+
shell: bash
30+
run: |
31+
apt-get -y install libcppunit-dev uuid-dev libncurses5-dev \
32+
libmicrohttpd-dev protobuf-compiler python3-protobuf \
33+
libprotobuf-dev libprotoc-dev zlib1g-dev libftdi-dev \
34+
libusb-1.0-0-dev liblo-dev libavahi-client-dev python3-numpy
35+
- name: Autoreconf
36+
run: autoreconf -i
37+
- name: Configure
38+
run: ./configure --enable-rdm-tests --enable-ja-rule --enable-e133
39+
- name: Build builtfiles
40+
run: make builtfiles VERBOSE=1
41+
- name: Display structure of the built files
42+
if: env.ACTIONS_STEP_DEBUG == 'true'
43+
run: ls -alR
44+
- name: Archive artifacts to speed up slow GH Actions upload/download
45+
shell: bash
46+
# If the file does not exist when tar excludes it, then it will not
47+
# actually exclude it, so it must first be touched
48+
run: |
49+
touch ola-debian-stable-built-source-tree.tar.gz
50+
tar --exclude=ola-debian-stable-built-source-tree.tar.gz -cvzf ola-debian-stable-built-source-tree.tar.gz .
51+
- name: SHA256 artifact archive
52+
run: sha256sum ola-debian-stable-built-source-tree.tar.gz
53+
- uses: actions/upload-artifact@v3
54+
with:
55+
name: ola-debian-stable-built-source-tree
56+
path: ola-debian-stable-built-source-tree.tar.gz
57+
check-licences:
58+
name: Check Licences
59+
runs-on: ubuntu-latest
60+
container: debian:stable
61+
needs: build
62+
steps:
63+
- name: Download built source tree archive
64+
uses: actions/download-artifact@v3
65+
with:
66+
name: ola-debian-stable-built-source-tree
67+
path: .
68+
- name: SHA256 artifact archive
69+
run: sha256sum ola-debian-stable-built-source-tree.tar.gz
70+
- name: Unarchive artifacts and delete archive
71+
shell: bash
72+
run: |
73+
tar -xvzf ola-debian-stable-built-source-tree.tar.gz .
74+
rm ola-debian-stable-built-source-tree.tar.gz
75+
- name: Display structure of extracted files
76+
if: env.ACTIONS_STEP_DEBUG == 'true'
77+
run: ls -alR
78+
- name: Update package database
79+
run: apt-get update -y
80+
- name: Install Python
81+
run: apt-get -y install python3 python-is-python3
82+
- name: Enable Problem Matcher for GitHub annotations
83+
run: echo "::add-matcher::.github/problem-matcher-lint-check-licences.json"
84+
- name: Check licenses
85+
shell: bash
86+
run: ./scripts/enforce_licence.py
87+
generic-nolints:
88+
name: Count generic NOLINTs
89+
runs-on: ubuntu-latest
90+
container: debian:stable
91+
needs: build
92+
steps:
93+
- name: Download built source tree archive
94+
uses: actions/download-artifact@v3
95+
with:
96+
name: ola-debian-stable-built-source-tree
97+
path: .
98+
- name: SHA256 artifact archive
99+
run: sha256sum ola-debian-stable-built-source-tree.tar.gz
100+
- name: Unarchive artifacts and delete archive
101+
shell: bash
102+
run: |
103+
tar -xvzf ola-debian-stable-built-source-tree.tar.gz .
104+
rm ola-debian-stable-built-source-tree.tar.gz
105+
- name: Display structure of extracted files
106+
if: env.ACTIONS_STEP_DEBUG == 'true'
107+
run: ls -alR
108+
- name: Enable Problem Matcher for GitHub annotations
109+
run: echo "::add-matcher::.github/problem-matcher-lint-generic-nolints.json"
110+
- name: Count the number of generic NOLINTs
111+
shell: bash
112+
run: ./scripts/count_generic_nolints.sh
113+
cpplint:
114+
name: cpplint
115+
runs-on: ubuntu-latest
116+
container: debian:stable
117+
needs: build
118+
steps:
119+
- name: Download built source tree archive
120+
uses: actions/download-artifact@v3
121+
with:
122+
name: ola-debian-stable-built-source-tree
123+
path: .
124+
- name: SHA256 artifact archive
125+
run: sha256sum ola-debian-stable-built-source-tree.tar.gz
126+
- name: Unarchive artifacts and delete archive
127+
shell: bash
128+
run: |
129+
tar -xvzf ola-debian-stable-built-source-tree.tar.gz .
130+
rm ola-debian-stable-built-source-tree.tar.gz
131+
- name: Display structure of extracted files
132+
if: env.ACTIONS_STEP_DEBUG == 'true'
133+
run: ls -alR
134+
- name: Update package database
135+
run: apt-get update -y
136+
- name: Install build tools
137+
shell: bash
138+
run: |
139+
apt-get -y install pkg-config libtool autoconf \
140+
automake g++ bison flex make bash-completion dh-autoreconf \
141+
debhelper devscripts wget python3-pip
142+
- name: Install Python lint tools
143+
run: python3 -m pip install --no-input cpplint flake8
144+
- name: Install build dependencies
145+
shell: bash
146+
run: |
147+
apt-get -y install libcppunit-dev uuid-dev libncurses5-dev \
148+
libmicrohttpd-dev protobuf-compiler python3-protobuf \
149+
libprotobuf-dev libprotoc-dev zlib1g-dev libftdi-dev \
150+
libusb-1.0-0-dev liblo-dev libavahi-client-dev python3-numpy
151+
- name: Enable Problem Matcher for GitHub annotations
152+
run: echo "::add-matcher::.github/problem-matcher-lint-cpplint.json"
153+
- name: cpplint
154+
run: make cpplint VERBOSE=1
155+
flake8:
156+
name: flake8
157+
runs-on: ubuntu-latest
158+
container: debian:stable
159+
needs: build
160+
steps:
161+
- name: Download built source tree archive
162+
uses: actions/download-artifact@v3
163+
with:
164+
name: ola-debian-stable-built-source-tree
165+
path: .
166+
- name: SHA256 artifact archive
167+
run: sha256sum ola-debian-stable-built-source-tree.tar.gz
168+
- name: Unarchive artifacts and delete archive
169+
shell: bash
170+
run: |
171+
tar -xvzf ola-debian-stable-built-source-tree.tar.gz .
172+
rm ola-debian-stable-built-source-tree.tar.gz
173+
- name: Display structure of extracted files
174+
if: env.ACTIONS_STEP_DEBUG == 'true'
175+
run: ls -alR
176+
- name: Update package database
177+
run: apt-get update -y
178+
- name: Install build tools
179+
shell: bash
180+
run: |
181+
apt-get -y install pkg-config libtool autoconf \
182+
automake g++ bison flex make bash-completion dh-autoreconf \
183+
debhelper devscripts wget python3-pip
184+
- name: Install Python lint tools
185+
run: python3 -m pip install --no-input cpplint flake8
186+
- name: Setup flake8 annotations
187+
uses: rbialon/flake8-annotations@v1
188+
- name: Install build dependencies
189+
shell: bash
190+
run: |
191+
apt-get -y install libcppunit-dev uuid-dev libncurses5-dev \
192+
libmicrohttpd-dev protobuf-compiler python3-protobuf \
193+
libprotobuf-dev libprotoc-dev zlib1g-dev libftdi-dev \
194+
libusb-1.0-0-dev liblo-dev libavahi-client-dev python3-numpy
195+
- name: flake8
196+
run: make flake8 VERBOSE=1

AUTHORS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Contributors:
2424
Nicolas, for the win32 port of libartnet
2525
Nicolas Bertrand, added ShowJockey DMX-U1 support
2626
Nils Van Zuijlen, typos and python lib small update
27-
Perry Naseck, EPoll delay fix
27+
Perry Naseck, EPoll delay fix, various GitHub Actions CI workflows
2828
Peter Newman, MilInst Plugin, Scanlime Fadecandy support and numerous fixes
2929
Ravindra Nath Kakarla, RDM Test Server (Google Summer of Code 2012)
3030
Rowan Maclachlan (hippy) for various changes

Makefile.am

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -241,13 +241,12 @@ lint: flake8 cpplint
241241
.PHONY : flake8
242242
flake8: Makefile.am
243243
if FOUND_FLAKE8
244-
flake8
244+
flake8 --statistics --count
245245
else
246246
$(error flake8 not found. Install flake8 and re-run configure.)
247247
endif
248248

249249
# cpplint linter
250-
CPP_LINT_URL = "https://raw.githubusercontent.com/google/styleguide/gh-pages/cpplint/cpplint.py"
251250
CPP_LINT_FILTER = "-legal/copyright,-readability/streams,-runtime/arrays"
252251
CPP_LINT_FILES = $(shell find . \( -name "*.h" -or -name "*.cpp" \) -and ! \( \
253252
-wholename "./common/protocol/Ola.pb.*" -or \
@@ -259,16 +258,9 @@ CPP_LINT_FILES = $(shell find . \( -name "*.h" -or -name "*.cpp" \) -and ! \( \
259258
-wholename "./tools/ola_trigger/config.tab.*" -or \
260259
-wholename "./tools/ola_trigger/lex.yy.cpp" \) | xargs)
261260
.PHONY : cpplint
262-
if FOUND_CPPLINT
263261
cpplint: Makefile.am
264-
cpplint.py --filter=$(CPP_LINT_FILTER) $(CPP_LINT_FILES)
262+
if FOUND_CPPLINT
263+
cpplint --filter=$(CPP_LINT_FILTER) $(CPP_LINT_FILES)
265264
else
266-
cpplint: Makefile.am cpplint.py
267-
./cpplint.py --filter=$(CPP_LINT_FILTER) $(CPP_LINT_FILES)
268-
endif
269-
270-
if !FOUND_CPPLINT
271-
cpplint.py:
272-
wget -O cpplint.py $(CPP_LINT_URL)
273-
chmod u+x cpplint.py
265+
$(error cpplint not found. Install forked cpplint (e.g. via pip for the latest version) and re-run configure.)
274266
endif

NEWS

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,43 @@
1-
x/y/2022 ola-0.10.9
1+
x/y/2023 ola-0.10.9
22
Features:
3-
*
3+
* Further improvements on Python 3 compatibility #1506
4+
* Support for the JMS USB2DMX PRO V2.1 device via the FTDI plugin #1728
45

56
API:
67
* Python: Add a fetch current DMX example.
78

89
RDM Tests:
9-
*
10+
* Fix a longstanding bug in the GetMaxPacketSize RDM test around timeouts
1011

1112
Bugs:
1213
* Fix some tests not working on Big Endian machines because our RPC is encoded
1314
with native format and those tests used sample data from a Little Endian
1415
machine
1516
* Renamed EndpointNoticationEvent(sic) to EndpointNotificationEvent in the
1617
E1.33 EndpointManager code
18+
* Check if librt exists and add it to the build if required
19+
* Ensure we can build on later Protobuf and C++ and silence deprecation
20+
messages where required
21+
* Fix the NetBSD build
22+
* Clarify the usage of some of the various Enttec Open DMX USB plugins
23+
* Relax the timing on the ClientWrapperTest so it doesn't fail occasionally
24+
#1714
25+
* Correct the documentation of some existing limits in the E1.31 plugin
26+
* Fix some undefined behaviour in TimeoutManager::ExecuteTimeouts #1726
27+
* Fix UARTs on Debian Bullseye #1749
28+
* Fix Python version detection for versions > 3.9 #1755, #1780
29+
* Update Angular and Angular-Route versions used by the new web UI and add
30+
workaround to be compatible #1782 Debian #1016447
31+
* Significantly reduce the delay when using StreamingClient with EPoll and
32+
multiple universes #1793
1733

1834
Internal:
19-
*
35+
* Add more debugging so we can tell why setting the baud rate failed
36+
* Replace "currentThread" with "current_thread" in Python since the former has
37+
been deprecated
38+
* Fix lots more internal typos and grammar
39+
* Add unit tests for more of the Python RDM Test classes
40+
* Sort the Python imports with isort
2041

2142
22/11/2020 ola-0.10.8
2243
Features:

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -961,7 +961,7 @@ fi
961961
# Linters
962962
AC_CHECK_PROG([flake8],[flake8],[yes],[no])
963963
AM_CONDITIONAL([FOUND_FLAKE8], [test "x$flake8" = xyes])
964-
AC_CHECK_PROG([cpplint],[cpplint.py],[yes],[no])
964+
AC_CHECK_PROG([cpplint],[cpplint],[yes],[no])
965965
AM_CONDITIONAL([FOUND_CPPLINT], [test "x$cpplint" = xyes])
966966

967967
# Output

javascript/new-src/bower.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
"license": "GPL",
88
"private": true,
99
"dependencies": {
10-
"angular": "~1.3.14",
10+
"angular": "~1.8.3",
11+
"angular-marked": "~1.2.2",
12+
"angular-route": "~1.8.3",
1113
"bootstrap": "~3.3.1",
12-
"angular-route": "~1.3.14",
13-
"marked": "~0.3.6",
14-
"angular-marked": "~1.2.2"
14+
"marked": "~0.3.6"
1515
},
1616
"exportsOverride": {
1717
"angular": {

0 commit comments

Comments
 (0)