Skip to content

Commit be3c9d5

Browse files
[MERGE]
2 parents 31b604e + 5bf5ace commit be3c9d5

File tree

15 files changed

+565
-27
lines changed

15 files changed

+565
-27
lines changed

.github/workflows/Tests.yml

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,24 @@
11
---
22
name: CI
3+
# Continuous Integration workflow for building, testing, and validating the project
4+
#
5+
# Jobs included:
6+
# - BUILD: Ensures the project compiles correctly
7+
# - BOOTSTRAP: Tests installation across Python versions and locales
8+
# - MATS: Runs Machine Acceptance Tests
9+
# - COVERAGE: Generates coverage reports on multiple OS and Python versions
10+
# - STYLE: Checks code style and linting compliance
11+
# - INTEGRATION: Performs integration tests on different platforms
12+
# - EXTRAS-FOR-SETUP: Tests legacy setup scripts
13+
# - EXTRAS-FOR-PIP: Validates package dependencies and pip installations
14+
# - DOCS: Builds and lints documentation
15+
# - TOX: Executes tests across Python environments using Tox
16+
#
17+
# Required Secrets:
18+
# - CODECOV_TOKEN: For uploading coverage reports to Codecov
19+
# - CODECLIMATE_TOKEN: For integration with Code Climate
20+
# - CC_TEST_REPORTER_ID: For Code Climate test reporting
21+
322
on: # yamllint disable-line rule:truthy
423
push:
524
branches:
@@ -600,7 +619,7 @@ jobs:
600619
PYTHON_VERSION: ${{ matrix.python-version }}
601620
LANG: "en_US.utf-8"
602621
LC_CTYPE: "en_US.utf-8"
603-
DOCS_BUILD_REF: ${{ github.sha }}
622+
DOCS_BUILD_REF: ${{ github.sha }} # Reference the specific commit in documentation builds
604623
steps:
605624
- uses: actions/checkout@v4
606625
- name: Set up Python ${{ matrix.python-version }}

.markdownlint.yaml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,16 @@ MD001: true # Enforce proper heading increments
66
MD026: # Disallow trailing punctuation in headings
77
punctuation: ",;:!" # - ('1.', '2.', etc. are ok though)
88

9-
# Disable or customize rules
9+
# Disable rules
10+
MD034: false # Allow bare URLs
11+
12+
# Customizations
1013
MD013: # Disable line length rule for flexibility
1114
line_length: 100
1215
code_blocks: false
1316
tables: false
14-
MD033: true # Allow inline HTML if needed
15-
MD034: false # Allow bare URLs
16-
17-
# Customizations
17+
MD033: # Allow inline HTML if needed
18+
allowed_elements: ["details", "summary"]
1819
MD007:
1920
indent: 2 # Set unordered list indentation to 2 spaces
2021
MD029:

.readthedocs.yaml

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
# Required
66
version: 2
77

8+
# Optional but recommended, declare the Python requirements required
9+
# to build your documentation
10+
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
811
python:
912
install:
1013
- requirements: requirements.txt
@@ -18,17 +21,26 @@ build:
1821
python: "3.12"
1922
jobs:
2023
post_checkout:
24+
# Fetch the complete git history; ignore errors if already fully fetched
2125
- git fetch --unshallow || true
26+
# Set fetch configuration to include all branches; ignore errors if already set
2227
- git config remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*' || true
28+
# Fetch all branches and tags; ignore network errors
2329
- git fetch --all --tags || true
30+
# Clean build artifacts; ignore if already clean
2431
- make clean || true
32+
# Purge caches and temporary files; continue even if purge fails
2533
- make purge || true
2634
post_install:
35+
# Clean build artifacts; ignore if already clean
2736
- make clean || true
2837
pre_build:
38+
# Build the project module that is to be documented ; continue even if build fails
2939
- make build || true
30-
- make -j1 build-docs || true
40+
# Build docs and verify output exists
41+
- make -j1 build-docs && test -d docs/www/_build/html
3142
post_build:
43+
# Move built documentation into place ; ignore if fails
3244
- cp -vfRp docs/www/_build/html/ "$READTHEDOCS_OUTPUT" || true
3345

3446
# Build documentation in the "docs/" directory with Sphinx
@@ -38,13 +50,14 @@ sphinx:
3850
fail_on_warning: false
3951

4052
# Optionally build your docs in additional formats such as PDF and ePub
53+
# To enable, uncomment the following lines and ensure dependencies are met
4154
# formats:
42-
# - pdf
43-
# - epub
44-
45-
# Optional but recommended, declare the Python requirements required
46-
# to build your documentation
47-
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
48-
# python:
49-
# install:
50-
# - requirements: docs/requirements.txt
55+
# - pdf
56+
# - epub
57+
#
58+
# Note:
59+
# - Enabling PDF output requires LaTeX installed in the build environment
60+
# - PDF output requires texlive-latex-recommended and texlive-fonts-recommended packages
61+
# - PDF builds may significantly increase build time and output size
62+
# - Ensure all documentation content is compatible with these formats
63+
# - Assess user demand for offline documentation before enabling

LICENSE.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,17 @@ You may obtain a copy of the License at
4444

4545
## Third-party Acknowledgments :bow:
4646

47+
### Files: `Logo.svg`
48+
49+
***
50+
The logo SVG file references, and when possible renders with, the font
51+
[CommicNeue](https://github.com/crozynski/comicneue/).
52+
Copyright 2014 The Comic Neue Project Authors (https://github.com/crozynski/comicneue)
53+
which was under an OFL-type license.
54+
See [OFL](https://raw.githubusercontent.com/crozynski/comicneue/d248cfb9/OFL.txt) for details.
55+
_NO ASSOCIATION._
56+
***
57+
4758
### Files: `multicast/send.py` and `multicast/recv.py`
4859

4960
***
@@ -52,9 +63,8 @@ Some code (namely: run, and parseArgs) was modified/derived from
5263
Copyright (c) 2019, ["pterodragon"](https://stackoverflow.com/users/5256940/pterodragon)
5364
which was under CC-by-sa-4 license.
5465
See [CC-by-sa-4](https://creativecommons.org/licenses/by-sa/4.0/) for details.
55-
The code in `parseArgs`, `run`, and `main` are thus also under
56-
CC-by-sa-4
57-
See [CC-by-sa-4](https://creativecommons.org/licenses/by-sa/4.0/) for details.
66+
The code in `parseArgs`, `run`, and `main` are thus **also** under
67+
[CC-by-sa-4](https://creativecommons.org/licenses/by-sa/4.0/) when regarded as source-code.
5868
_NO ASSOCIATION._
5969
***
6070

Logo.svg

Lines changed: 55 additions & 0 deletions
Loading

Makefile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,9 @@ clean-docs: ./docs/ ./docs/Makefile
329329
$(QUIET)$(WAIT) ;
330330

331331
./docs/:
332-
$(QUIET) : ;
332+
$(QUIET)test -d "$@" || DO_FAIL="exit 77" ; # set fail if can't verify directory
333+
$(QUIET)test -e "$@" || DO_FAIL="exit 69" ; # overwrite exitcode if does not exsist.
334+
$(QUIET)$(DO_FAIL) ;
333335

334336
./docs/Makefile: ./docs/
335337
$(QUIET)$(WAIT) ;

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Multicast Python Repo
22

3+
![Mcast Logo](Logo.svg)
4+
35
## Introduction
46

57
The `multicast` package is a Python library that simplifies sending and receiving multicast network

0 commit comments

Comments
 (0)