Skip to content

Commit 31b604e

Browse files
[MERGE]
3 parents 061d979 + 15e16e7 + 24a6db0 commit 31b604e

Some content is hidden

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

45 files changed

+204
-113
lines changed

.github/CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ This is the checklist that I try to go through for every single pull request tha
132132

133133
- [ ] reads:
134134

135-
> Copyright (c) 2017-2024, Author
135+
> Copyright (c) 2017-2025, Author
136136
137137

138138
## Close Issues

.github/dependabot.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,3 +115,26 @@ updates:
115115
schedule:
116116
interval: "weekly"
117117
day: "tuesday"
118+
- package-ecosystem: "npm"
119+
directory: "/"
120+
target-branch: "master"
121+
versioning-strategy: increase-if-necessary
122+
labels:
123+
- "Configs"
124+
- "Testing"
125+
- "JavaScript"
126+
- "CI"
127+
rebase-strategy: "disabled"
128+
groups:
129+
development-dependencies:
130+
dependency-type: "development"
131+
allow:
132+
- dependency-type: "development"
133+
assignees:
134+
- "reactive-firewall"
135+
commit-message:
136+
prefix: "[HOTFIX] "
137+
include: "scope"
138+
schedule:
139+
interval: "weekly"
140+
day: "tuesday"

.github/workflows/makefile-lint.yml

Lines changed: 43 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,19 @@
11
# .github/workflows/makefile-lint.yml
2+
3+
# print_error(msg, line_start, line_end)
4+
#
5+
# Formats and prints error messages according to CEP-7 guidelines and GitHub Actions' logging
6+
# commands.
7+
#
8+
# Arguments:
9+
# msg - The error message to display.
10+
# line_start - The starting line number where the error occurred.
11+
# line_end - The ending line number where the error occurred.
12+
#
13+
# This function outputs an error message in the GitHub Actions logging format, including the
14+
# file path, line numbers, a title, and the error message content. This ensures consistency
15+
# and clarity in error reporting within workflow scripts.
16+
217
---
318
name: Makefile Lint
419
on: # yamllint disable-line rule:truthy
@@ -23,15 +38,25 @@ jobs:
2338
- name: Install Apt-Get Dependencies
2439
run: |
2540
sudo apt-get update || exit 1
26-
sudo apt-get install -y yamllint golang-go pandoc || exit 1
27-
ERR_MSG_STUB="Go installation failed."
28-
ERR_DETAILS="file=.github/workflows/makefile-lint.yml,line=25,endLine=30,title=FAILURE"
29-
ERR_MSG_LINE="::error ${ERR_DETAILS}::ERROR ${ERR_MSG_STUB}"
30-
go version || { printf "%s\n" "${ERR_MSG_LINE}"; exit 1; }
41+
sudo apt-get install -y yamllint golang-go pandoc || : # handle error with detail below
42+
print_error() {
43+
local msg="$1"
44+
local file_stub=".github/workflows/makefile-lint.yml"
45+
local line_start="$2"
46+
local line_end="$3"
47+
printf "::error file=%s,line=%s,endLine=%s,title=VALIDATION_ERROR::ERROR %s\n" \
48+
"${file_stub}" "${line_start}" "${line_end}" "${msg}"
49+
}
50+
go version || { print_error "Go installation failed." 40 41 ; exit 126; }
51+
yamllint --version || { print_error "Yamllint installation failed." 40 41 ; exit 126; }
52+
pandoc --version || { print_error "Pandoc installation failed." 40 41 ; exit 126; }
3153
- name: Lint Workflow YAML
3254
if: ${{ success() }}
55+
env:
56+
YAML_ARGS: "${{ vars.YAML_ARGS }}"
3357
run: |
34-
yamllint ${{ vars.YAML_ARGS }} .github/workflows/makefile-lint.yml
58+
printf "Validating workflow with args: %s\n" "${YAML_ARGS}"
59+
yamllint ${YAML_ARGS} .github/workflows/makefile-lint.yml
3560
- name: Install checkmake
3661
if: ${{ success() }}
3762
env:
@@ -44,14 +69,14 @@ jobs:
4469
ACTUAL_SHA=$(git rev-parse HEAD)
4570
if [ "$EXPECTED_SHA" != "$ACTUAL_SHA" ]; then
4671
ERR_MSG_STUB="Checkmake repository hash verification failed."
47-
ERR_DETAILS="file=.github/workflows/makefile-lint.yml,line=42,endLine=51,title=FAILURE"
72+
ERR_DETAILS="file=.github/workflows/makefile-lint.yml,line=75,endLine=79,title=FAILURE"
4873
ERR_MSG_LINE="::error ${ERR_DETAILS}::ERROR ${ERR_MSG_STUB}"
4974
printf "%s\n" "${ERR_MSG_LINE}"
5075
exit 1;
5176
fi
5277
make && make install || { \
5378
ERR_MSG_STUB="Checkmake build failed." \
54-
ERR_DETS="file=.github/workflows/makefile-lint.yml,line=52,endLine=59,title=FAILURE" \
79+
ERR_DETS="file=.github/workflows/makefile-lint.yml,line=77,endLine=83,title=FAILURE" \
5580
ERR_MSG_LINE="::error ${ERR_DETS}::ERROR ${ERR_MSG_STUB}" \
5681
printf "%s\n" "${ERR_MSG_LINE}" \
5782
exit 1 \
@@ -77,20 +102,19 @@ jobs:
77102
- name: Lint Makefiles Files
78103
run: |
79104
TOOL_PATH=".github/tool_checkmake.sh"
105+
print_error() {
106+
local msg="$1"
107+
local file_stub=".github/workflows/makefile-lint.yml"
108+
local line_start="$2"
109+
local line_end="$3"
110+
printf "::error file=%s,line=%s,endLine=%s,title=FAILURE::ERROR %s\n" \
111+
"${file_stub}" "${line_start}" "${line_end}" "${msg}"
112+
}
80113
if [ ! -x "$TOOL_PATH" ]; then
81-
{ \
82-
ERR_MSG_STUB="$TOOL_PATH not found or not executable." \
83-
ERR_DETS="file=.github/workflows/makefile-lint.yml,line=79,endLine=88,title=FAILURE" \
84-
ERR_MSG_LINE="::error ${ERR_DETS}::ERROR ${ERR_MSG_STUB}" \
85-
printf "%s\n" "${ERR_MSG_LINE}" \
86-
exit 1 \
87-
;}
114+
{ print_error "$TOOL_PATH not found or not executable." 114 114; exit 1; } ;
88115
fi
89116
FILE="${{ steps.makefiles.outputs.files }}" ;
90117
printf "::group::%s\n" "${FILE}" ;
91-
ERR_MSG_STUB="Linting failed."
92-
ERR_DETS="file=.github/workflows/makefile-lint.yml,line=89,endLine=97,title=FAILURE"
93-
ERR_MSG_LINE="::error ${ERR_DETS}::ERROR ${ERR_MSG_STUB}"
94-
"$TOOL_PATH" "${FILE}" || { printf "%s\n" "${ERR_MSG_LINE}"; exit 1; } ;
118+
"$TOOL_PATH" "${FILE}" || { print_error "Linting failed." 118 118; exit 1; } ;
95119
printf "::endgroup::\n" ; unset FILE 2>/dev/null || true ;
96120
if: ${{ !cancelled() && steps.makefiles.outputs.files != '' }}

.github/workflows/markdown-lint.yml

Lines changed: 37 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -23,34 +23,51 @@ jobs:
2323
persist-credentials: false
2424
- name: Install Apt-Get Dependencies
2525
run: |
26-
sudo apt-get update
27-
sudo apt-get install -y yamllint npm
28-
ERR_MSG_STUB="yamllint installation failed."
29-
ERR_DETAILS="file=.github/workflows/markdown-lint.yml,line=26,endLine=31,title=FAILURE"
30-
ERR_MSG_LINE="::error ${ERR_DETAILS}::ERROR ${ERR_MSG_STUB}"
31-
yamllint --version || { printf "%s\n" "${ERR_MSG_LINE}"; exit 1; }
26+
sudo apt-get update || exit 1
27+
sudo apt-get install -y yamllint npm || : # handle error with detail below
28+
print_error() {
29+
local msg="$1"
30+
local file_stub=".github/workflows/markdown-lint.yml"
31+
local line_start="$2"
32+
local line_end="$3"
33+
printf "::error file=%s,line=%s,endLine=%s,title=VALIDATION_ERROR::ERROR %s\n" \
34+
"${file_stub}" "${line_start}" "${line_end}" "${msg}"
35+
}
36+
command -v npm >/dev/null || { print_error "npm installation failed." 26 27 ; exit 126; }
37+
yamllint --version || { print_error "Yamllint installation failed." 26 27 ; exit 126; }
3238
3339
- name: Lint Workflow YAML
40+
if: ${{ success() }}
41+
env:
42+
YAML_ARGS: "${{ vars.YAML_ARGS }}"
3443
run: |
35-
yamllint ${{ vars.YAML_ARGS }} .github/workflows/markdown-lint.yml
36-
37-
- name: Install NPM Dependencies
38-
run: |
39-
sudo npm install -g markdownlint
40-
sudo npm install -g markdownlint-cli
44+
printf "Validating workflow with args: %s\n" "${YAML_ARGS}"
45+
yamllint ${YAML_ARGS} .github/workflows/markdown-lint.yml
4146
4247
- name: Lint YAML config for markdown
48+
if: ${{ success() }}
49+
env:
50+
YAML_ARGS: "${{ vars.YAML_ARGS }}"
4351
run: |
44-
yamllint -f github --no-warnings .markdownlint.yaml
52+
printf "Validating workflow with args: %s\n" "${YAML_ARGS}"
53+
yamllint ${YAML_ARGS} .markdownlint.yaml
4554
46-
- name: Lint Markdown Files with YAML config
47-
if: ${{ !cancelled() }}
55+
- name: Install NPM Dependencies
56+
if: ${{ success() }}
4857
run: |
49-
git ls-files --exclude-standard -z -- *.md **/*.md |\
50-
xargs -0 -I{} markdownlint "{}" --config .markdownlint.yaml ;
58+
# npm install
59+
ERR_MSG="NPM package installation failed"
60+
ERR_LOC_1="file=.github/workflows/markdown-lint.yml,line=63,endLine=63"
61+
ERR_LOC_2="file=package.json,line=2,endLine=4"
62+
if ! NPM_ERROR=$(npm install 2>&1); then
63+
for LOC in "${ERR_LOC_1}" "${ERR_LOC_2}"; do
64+
printf "::error %s,title=INSTALL_ERROR::ERROR %s: %s\n" \
65+
"${LOC}" "${ERR_MSG}" "${NPM_ERROR}"
66+
done
67+
fi
5168
52-
- name: Lint Markdown Files with JSON config
53-
if: ${{ !cancelled() }}
69+
- name: Lint Markdown Files with YAML config
70+
if: ${{ success() }}
5471
run: |
5572
git ls-files --exclude-standard -z -- *.md **/*.md |\
56-
xargs -0 -I{} markdownlint "{}" --config .markdownlint.json ;
73+
xargs -0 -I{} npm run lint:md -- "{}";

.markdownlint.json

Lines changed: 0 additions & 20 deletions
This file was deleted.

LICENSE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# MIT License
22

3-
Copyright (c) 2017-2024, Mr. Walls
3+
Copyright (c) 2017-2025, Mr. Walls
44

55
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
66
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
@@ -36,7 +36,7 @@ You may obtain a copy of the License at
3636
### Files: `.github/workflows/markdown-lint.yml`, and `.github/workflows/yaml-lint.yml`
3737

3838
***
39-
Copyright (c) 2017-2024, Your Mileage May Vary
39+
Copyright (c) 2017-2025, Your Mileage May Vary
4040
ALSO Licensed under MIT
4141
You may obtain a copy of the License at
4242
[MIT License](http://www.github.com/reactive-firewall/ymmv/LICENSE.md)

Makefile

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

33
# Python Multicast Repo
44
# ..................................
5-
# Copyright (c) 2017-2024, Mr. Walls
5+
# Copyright (c) 2017-2025, Mr. Walls
66
# ..................................
77
# Licensed under MIT (the "License");
88
# you may not use this file except in compliance with the License.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ Next-steps and bug-fixes are tracked [Here](https://github.com/users/reactive-fi
152152

153153
## License
154154

155-
### Copyright (c) 2021-2024, Mr. Walls
155+
### Copyright (c) 2021-2025, Mr. Walls
156156

157157
This project is licensed under the MIT License. See the
158158
[LICENSE.md](https://github.com/reactive-firewall/multicast/blob/stable/LICENSE.md) file for

docs/CI.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ acceptable for production use.
3737

3838
```mermaid
3939
%%{init: { 'gitGraph': {'mainBranchName': 'master'}} }%%
40-
gitGraph;
40+
gitGraph:
4141
commit id: "start"
4242
branch master
4343
checkout master
@@ -102,6 +102,6 @@ make clean ; # cleans up for next test
102102

103103
***
104104

105-
#### Copyright (c) 2021-2024, Mr. Walls
105+
#### Copyright (c) 2021-2025, Mr. Walls
106106

107107
[MIT License](https://github.com/reactive-firewall/multicast/blob/stable/LICENSE.md)

docs/FAQ.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,6 @@ work so far as this Multicast module is concerned.
252252

253253
***
254254

255-
#### Copyright (c) 2021-2024, Mr. Walls
255+
#### Copyright (c) 2021-2025, Mr. Walls
256256

257257
[MIT License](https://github.com/reactive-firewall/multicast/blob/stable/LICENSE.md)

0 commit comments

Comments
 (0)