Skip to content

Commit 28c3b50

Browse files
authored
Merge branch '0.10' into peternewman-0.10-mac
2 parents 85c89f4 + 3566c28 commit 28c3b50

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+205
-151
lines changed

.github/workflows/build.yaml

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
name: build
22
on: [push, pull_request]
3+
4+
permissions:
5+
contents: read
6+
37
jobs:
48
build:
59
name: "${{ matrix.id }}"
@@ -21,7 +25,7 @@ jobs:
2125
pkg: "gcc g++"
2226
- id: "distcheck-debian-stable-amd64-gcc"
2327
task: "distcheck"
24-
configure-args: "--enable-ja-rule --enable-e133 --enable-rdm-tests --enable-java-libs"
28+
configure-args: "--enable-ja-rule --enable-e133 --enable-rdm-tests"
2529
# TODO(Perry): Fix Debian 12 OOM issue on GitHub Actions
2630
container: "debian:stable"
2731
compiler:
@@ -30,7 +34,7 @@ jobs:
3034
pkg: "gcc g++"
3135
- id: "distcheck-debian-stable-amd64-clang"
3236
task: "distcheck"
33-
configure-args: "--enable-ja-rule --enable-e133 --enable-rdm-tests --enable-java-libs"
37+
configure-args: "--enable-ja-rule --enable-e133 --enable-rdm-tests"
3438
# TODO(Perry): Fix Debian 12 OOM issue on GitHub Actions
3539
container: "debian:stable"
3640
compiler:
@@ -50,13 +54,15 @@ jobs:
5054
run: apt-get update -y
5155
# See comments beginning at
5256
# https://github.com/actions/runner/issues/763#issuecomment-1435474884
53-
# Without Git, actions/checkout@v3 will resort to REST and will not
57+
# Without Git, actions/checkout@v4 will resort to REST and will not
5458
# create a .git folder or .git.config. The Problem Matcher looks for
5559
# .git/config to find where the root of the repo is, so it must be
5660
# present.
5761
- name: Install Git
5862
run: apt-get -y install git
59-
- uses: actions/checkout@v3
63+
- uses: actions/checkout@v4
64+
with:
65+
persist-credentials: false
6066
- name: Install build tools
6167
shell: bash
6268
run: |
@@ -90,17 +96,18 @@ jobs:
9096
- name: Autoreconf
9197
run: sudo --preserve-env -u builduser env "PATH=$PATH" autoreconf -i
9298
- name: Set configure arguments
99+
# Env var name DISTCHECK_CONFIGURE_FLAGS must be used, see #1881 and #1883
93100
run: |
94-
echo "GH_OLA_CONFIGURE_ARGS=${{ matrix.configure-args }}" >> $GITHUB_ENV
101+
echo "DISTCHECK_CONFIGURE_FLAGS=${{ matrix.configure-args }}" >> $GITHUB_ENV
95102
- name: Set additional Linux configure arguments
96103
if: runner.os == 'Linux'
97104
# Silence all deprecated declarations on Linux due to auto_ptr making the build log too long
98105
run: |
99-
echo "GH_OLA_CONFIGURE_ARGS=$GH_OLA_CONFIGURE_ARGS CPPFLAGS=-Wno-deprecated-declarations" >> $GITHUB_ENV
106+
echo "DISTCHECK_CONFIGURE_FLAGS=$DISTCHECK_CONFIGURE_FLAGS CPPFLAGS=-Wno-deprecated-declarations" >> $GITHUB_ENV
100107
- name: Print configure command
101-
run: echo "./configure $GH_OLA_CONFIGURE_ARGS"
108+
run: echo "./configure $DISTCHECK_CONFIGURE_FLAGS"
102109
- name: Configure
103-
run: sudo --preserve-env -u builduser env "PATH=$PATH" ./configure $GH_OLA_CONFIGURE_ARGS
110+
run: sudo --preserve-env -u builduser env "PATH=$PATH" ./configure $DISTCHECK_CONFIGURE_FLAGS
104111
- name: ${{ matrix.task }}
105112
run: sudo --preserve-env -u builduser env "PATH=$PATH" make ${{ matrix.task }} -j${{ steps.num-cpu-cores.outputs.NUM_CPU_CORES }} VERBOSE=1
106113
- name: Display structure of the built files
@@ -113,19 +120,20 @@ jobs:
113120
# actually exclude it, so it must first be touched
114121
run: |
115122
touch ola-${{ matrix.id }}-source-tree.tar.gz
116-
tar --exclude=ola-${{ matrix.id }}-source-tree.tar.gz -cvzf ola-${{ matrix.id }}-source-tree.tar.gz .
123+
touch .git
124+
tar --exclude=ola-${{ matrix.id }}-source-tree.tar.gz --exclude=.git -cvzf ola-${{ matrix.id }}-source-tree.tar.gz .
117125
- name: SHA256 artifact archives
118126
if: always()
119127
run: sha256sum ola-*.tar.gz
120128
- name: Upload source tree artifact
121-
uses: actions/upload-artifact@v3
129+
uses: actions/upload-artifact@v4
122130
if: always()
123131
with:
124132
name: ola-${{ matrix.id }}-source-tree
125133
path: ola-${{ matrix.id }}-source-tree.tar.gz
126134
- name: Upload built artifact
127135
if: matrix.task == 'distcheck' || matrix.task == 'dist'
128-
uses: actions/upload-artifact@v3
136+
uses: actions/upload-artifact@v4
129137
with:
130138
name: ola-${{ matrix.id }}-dist
131139
path: |
@@ -146,7 +154,7 @@ jobs:
146154
flag-name: ${{ matrix.id }}
147155
- name: Upload coverage artifacts
148156
if: always() && matrix.task == 'coverage'
149-
uses: actions/upload-artifact@v3
157+
uses: actions/upload-artifact@v4
150158
with:
151159
name: ola-${{ matrix.id }}-coverage
152160
path: coverage/
@@ -164,7 +172,7 @@ jobs:
164172
- id: "distcheck-debian-stable-amd64-clang"
165173
steps:
166174
- name: Download built source tree archive
167-
uses: actions/download-artifact@v3
175+
uses: actions/download-artifact@v4
168176
with:
169177
name: ola-${{ matrix.id }}-source-tree
170178
path: .

.github/workflows/debian.yml

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,18 @@
33

44
name: debian
55
on: [push, pull_request]
6+
7+
permissions:
8+
contents: read
9+
610
jobs:
711
debian-build:
812
name: 'Debian Build ${{ matrix.image_tag }} ${{ matrix.architecture }}'
913
runs-on: ubuntu-latest
1014
strategy:
1115
fail-fast: false
1216
matrix:
13-
image_tag: [bullseye, bookworm, sid]
17+
image_tag: [bullseye, bookworm, trixie, sid]
1418
architecture: [amd64]
1519
container: debian:${{ matrix.image_tag }}
1620
steps:
@@ -21,13 +25,15 @@ jobs:
2125
run: apt-get update -y
2226
# See comments beginning at
2327
# https://github.com/actions/runner/issues/763#issuecomment-1435474884
24-
# Without Git, actions/checkout@v3 will resort to REST and will not
28+
# Without Git, actions/checkout@v4 will resort to REST and will not
2529
# create a .git folder or .git.config. The Problem Matcher looks for
2630
# .git/config to find where the root of the repo is, so it must be
2731
# present.
2832
- name: Install Git
2933
run: apt-get -y install git
30-
- uses: actions/checkout@v3
34+
- uses: actions/checkout@v4
35+
with:
36+
persist-credentials: false
3137
- name: Install build tools
3238
run: apt-get -y install devscripts adduser fakeroot sudo
3339
- name: Install build dependencies
@@ -53,7 +59,7 @@ jobs:
5359
shell: bash
5460
run: find . -type f -exec sha256sum {} \;
5561
working-directory: built
56-
- uses: actions/upload-artifact@v3
62+
- uses: actions/upload-artifact@v4
5763
if: always()
5864
with:
5965
name: ola-built-debian-${{ matrix.image_tag }}-${{ matrix.architecture }}
@@ -66,13 +72,15 @@ jobs:
6672
strategy:
6773
fail-fast: false
6874
matrix:
69-
image_tag: [bullseye, bookworm, sid]
75+
image_tag: [bullseye, bookworm, trixie, sid]
7076
architecture: [amd64]
7177
container: debian:${{ matrix.image_tag }}
7278
steps:
73-
- uses: actions/checkout@master
79+
- uses: actions/checkout@v4
80+
with:
81+
persist-credentials: false
7482
- name: Download build artifact
75-
uses: actions/download-artifact@v3
83+
uses: actions/download-artifact@v4
7684
with:
7785
name: ola-built-debian-${{ matrix.image_tag }}-${{ matrix.architecture }}
7886
path: built
@@ -85,7 +93,7 @@ jobs:
8593
run: apt-get -y install autopkgtest
8694
- name: Test
8795
run: autopkgtest --output-dir=test-output built/*ges -- null
88-
- uses: actions/upload-artifact@v3
96+
- uses: actions/upload-artifact@v4
8997
if: always() # Always upload the test output, even on failed tests
9098
with:
9199
name: ola-test-output-debian-${{ matrix.image_tag }}-${{ matrix.architecture }}

.github/workflows/isort.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
name: isort
22

3-
on:
4-
- push
5-
- pull_request
3+
on: [push, pull_request]
4+
5+
permissions:
6+
contents: read
67

78
jobs:
89
isort:
910
runs-on: ubuntu-latest
1011
steps:
11-
- uses: actions/checkout@v3
12+
- uses: actions/checkout@v4
13+
with:
14+
persist-credentials: false
1215
- uses: isort/isort-action@v1

.github/workflows/lint.yaml

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
name: lint
22
on: [push, pull_request]
3+
4+
permissions:
5+
contents: read
6+
37
jobs:
48
build:
59
name: Build for Lint Tasks
@@ -10,13 +14,15 @@ jobs:
1014
run: apt-get update -y
1115
# See comments beginning at
1216
# https://github.com/actions/runner/issues/763#issuecomment-1435474884
13-
# Without Git, actions/checkout@v3 will resort to REST and will not
17+
# Without Git, actions/checkout@v4 will resort to REST and will not
1418
# create a .git folder or .git.config. The Problem Matcher looks for
1519
# .git/config to find where the root of the repo is, so it must be
1620
# present.
1721
- name: Install Git
1822
run: apt-get -y install git
19-
- uses: actions/checkout@v3
23+
- uses: actions/checkout@v4
24+
with:
25+
persist-credentials: false
2026
- name: Install build tools
2127
shell: bash
2228
run: |
@@ -53,10 +59,11 @@ jobs:
5359
# actually exclude it, so it must first be touched
5460
run: |
5561
touch ola-debian-stable-built-source-tree.tar.gz
56-
tar --exclude=ola-debian-stable-built-source-tree.tar.gz -cvzf ola-debian-stable-built-source-tree.tar.gz .
62+
touch .git
63+
tar --exclude=ola-debian-stable-built-source-tree.tar.gz --exclude=.git -cvzf ola-debian-stable-built-source-tree.tar.gz .
5764
- name: SHA256 artifact archive
5865
run: sha256sum ola-debian-stable-built-source-tree.tar.gz
59-
- uses: actions/upload-artifact@v3
66+
- uses: actions/upload-artifact@v4
6067
with:
6168
name: ola-debian-stable-built-source-tree
6269
path: ola-debian-stable-built-source-tree.tar.gz
@@ -67,7 +74,7 @@ jobs:
6774
needs: build
6875
steps:
6976
- name: Download built source tree archive
70-
uses: actions/download-artifact@v3
77+
uses: actions/download-artifact@v4
7178
with:
7279
name: ola-debian-stable-built-source-tree
7380
path: .
@@ -97,7 +104,7 @@ jobs:
97104
needs: build
98105
steps:
99106
- name: Download built source tree archive
100-
uses: actions/download-artifact@v3
107+
uses: actions/download-artifact@v4
101108
with:
102109
name: ola-debian-stable-built-source-tree
103110
path: .
@@ -123,7 +130,7 @@ jobs:
123130
needs: build
124131
steps:
125132
- name: Download built source tree archive
126-
uses: actions/download-artifact@v3
133+
uses: actions/download-artifact@v4
127134
with:
128135
name: ola-debian-stable-built-source-tree
129136
path: .
@@ -160,7 +167,7 @@ jobs:
160167
needs: build
161168
steps:
162169
- name: Download built source tree archive
163-
uses: actions/download-artifact@v3
170+
uses: actions/download-artifact@v4
164171
with:
165172
name: ola-debian-stable-built-source-tree
166173
path: .
@@ -197,7 +204,7 @@ jobs:
197204
needs: build
198205
steps:
199206
- name: Download built source tree archive
200-
uses: actions/download-artifact@v3
207+
uses: actions/download-artifact@v4
201208
with:
202209
name: ola-debian-stable-built-source-tree
203210
path: .
@@ -226,7 +233,7 @@ jobs:
226233
needs: build
227234
steps:
228235
- name: Download built source tree archive
229-
uses: actions/download-artifact@v3
236+
uses: actions/download-artifact@v4
230237
with:
231238
name: ola-debian-stable-built-source-tree
232239
path: .
@@ -260,7 +267,9 @@ jobs:
260267
name: weblint
261268
runs-on: ubuntu-latest
262269
steps:
263-
- uses: actions/checkout@v3
270+
- uses: actions/checkout@v4
271+
with:
272+
persist-credentials: false
264273
- name: Setup Node.js v18
265274
uses: actions/setup-node@v3
266275
with:

.travis-ci.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,7 @@ elif [[ $TASK = 'flake8' ]]; then
232232
make flake8
233233
else
234234
# Otherwise compile and check as normal
235+
# Env var name DISTCHECK_CONFIGURE_FLAGS must be used, see #1881 and #1883
235236
if [[ "$TRAVIS_OS_NAME" = "linux" ]]; then
236237
# Silence all deprecated declarations on Linux due to auto_ptr making the build log too long
237238
export DISTCHECK_CONFIGURE_FLAGS='--enable-rdm-tests --enable-ja-rule --enable-e133 CPPFLAGS=-Wno-deprecated-declarations'

CONTRIBUTING

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ If you’d like to contribute code (such as a new plugin, extending an existing
88
feature or adding a brand new one), our preferred method is by forking us on
99
GitHub, committing your code to there, then opening a pull request. We can then
1010
review and comment on your code if necessary and merge it in. It will also get
11-
checked automatically by Travis Continuous Integration (you will see a message
12-
within the pull request showing the status of the Travis tests); hence why we
11+
checked automatically by GitHub Actions (you will see a message
12+
within the pull request showing the status of the GitHub tests); hence why we
1313
prefer pull requests to other methods such as patch submissions.
1414

1515
When writing code, please read the README.developer file which covers coding

Makefile.am

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ else
246246
endif
247247

248248
# cpplint linter
249-
CPP_LINT_FILTER = "-legal/copyright,-readability/streams,-runtime/arrays"
249+
CPP_LINT_FILTER = "-legal/copyright,-readability/streams,-runtime/arrays,-whitespace/indent_namespace"
250250
CPP_LINT_FILES = $(shell find . \( -name "*.h" -or -name "*.cpp" \) -and ! \( \
251251
-wholename "./common/protocol/Ola.pb.*" -or \
252252
-wholename "./common/rpc/Rpc.pb.*" -or \
@@ -271,8 +271,10 @@ COVERAGE_OUTPUTS = --txt coverage/coverage.txt \
271271
--cobertura coverage/coverage.cobertura.xml \
272272
--html-details coverage/details.html/coverage.details.html \
273273
--coveralls coverage/coverage.coveralls.json
274-
COVERAGE_GCOV_EXE=--gcov-executable /usr/bin/gcov
275-
COVERAGE_FILTERS=-e '.*Test\.cpp$$' \
274+
# See https://gcovr.com/en/stable/guide/gcov_parser.html#negative-hit-counts
275+
COVERAGE_FLAGS = --gcov-ignore-parse-errors=negative_hits.warn_once_per_file
276+
COVERAGE_GCOV_EXE = --gcov-executable /usr/bin/gcov
277+
COVERAGE_FILTERS = -e '.*Test\.cpp$$' \
276278
-e '.*\.pb\.cc$$' \
277279
-e '.*\.pb\.cpp$$' \
278280
-e '.*\.pb\.h$$' \
@@ -287,7 +289,7 @@ if !BUILD_GCOV
287289
else
288290
if FOUND_GCOVR
289291
mkdir -p coverage/details.html/
290-
gcovr --print-summary $(COVERAGE_OUTPUTS) $(COVERAGE_GCOV_EXE) --root . $(COVERAGE_FILTERS)
292+
gcovr $(COVERAGE_FLAGS) --print-summary $(COVERAGE_OUTPUTS) $(COVERAGE_GCOV_EXE) --root . $(COVERAGE_FILTERS)
291293
else
292294
$(error gcovr not found. Install gcovr (e.g. via pip for the latest version) and re-run configure.)
293295
endif

NEWS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
x/y/2023 ola-0.10.10
1+
x/y/2024 ola-0.10.10
22
Features:
33
*
44

README

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[www.openlighting.org/ola](https://www.openlighting.org/ola)
44

5-
[![Build Status](https://travis-ci.com/github/OpenLightingProject/ola.svg?branch=master)](https://travis-ci.com/github/OpenLightingProject/ola) [![Coverity Scan Status](https://scan.coverity.com/projects/3514/badge.svg)](https://scan.coverity.com/projects/3514) [![Coverage Status](https://coveralls.io/repos/OpenLightingProject/ola/badge.svg?branch=master)](https://coveralls.io/r/OpenLightingProject/ola?branch=master)
5+
[![Build Status](https://github.com/OpenLightingProject/ola/actions/workflows/build.yaml/badge.svg?branch=master)](https://github.com/OpenLightingProject/ola/actions/workflows/build.yaml) [![Debian Build Status](https://github.com/OpenLightingProject/ola/actions/workflows/debian.yml/badge.svg?branch=master)](https://github.com/OpenLightingProject/ola/actions/workflows/debian.yml) [![Lint Status](https://github.com/OpenLightingProject/ola/actions/workflows/lint.yaml/badge.svg?branch=master)](https://github.com/OpenLightingProject/ola/actions/workflows/lint.yaml) [![Coverity Scan Status](https://scan.coverity.com/projects/3514/badge.svg)](https://scan.coverity.com/projects/3514) [![Coverage Status](https://coveralls.io/repos/github/OpenLightingProject/ola/badge.svg?branch=master)](https://coveralls.io/github/OpenLightingProject/ola?branch=master)
66

77
The Open Lighting Architecture (OLA) is a framework for controlling
88
entertainment lighting equipment. Within the entertainment lighting industry,

README.developer

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ The release lifecycle is:
5555
- New feature work occurs on the master branch.
5656
- Once the new features are considered stable or enough time has passed, a new
5757
minor release branch will be created, e.g. 0.10.
58-
- The minor release branch will be stablized with bugfixes, these bug fixes
58+
- The minor release branch will be stabilized with bugfixes, these bug fixes
5959
will also be merged back into master.
6060
- Once declared stable, a new patch branch 0 will be created e.g. 0.10.0
6161
- Release specific changes like the version number, debian files etc. will be
@@ -138,7 +138,7 @@ which isn't listed there please consider submitting the formatting
138138
configuration files.
139139

140140
Please run the cpplint.py script on all files before requesting a review,
141-
alternatively it will be run automatically by Travis CI on pull requests.
141+
alternatively it will be run automatically by GitHub Actions on pull requests.
142142

143143
cpplint.py can be downloaded here:
144144
https://github.com/google/styleguide/tree/gh-pages/cpplint

0 commit comments

Comments
 (0)