Skip to content

Commit 7e12789

Browse files
authored
[CI] Add Doxygen validation workflow (open-telemetry#3882)
1 parent ad8b961 commit 7e12789

File tree

12 files changed

+72
-7
lines changed

12 files changed

+72
-7
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: doxygen-tidy
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
doxygen-lint:
14+
name: Doxygen lint
15+
runs-on: ubuntu-latest
16+
env:
17+
DOXYFILE_FOLDER: 'docs/public'
18+
DOXYFILE_NAME: 'Doxyfile.lint'
19+
steps:
20+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
21+
- name: Install doxygen
22+
run: |
23+
sudo apt-get update
24+
sudo apt-get install -y doxygen
25+
echo "Installed Doxygen version: $(doxygen --version)"
26+
- name: Analyze Doxygen comments
27+
working-directory: ${{ env.DOXYFILE_FOLDER }}
28+
run: |
29+
mkdir /tmp/doxyoutput
30+
doxygen ${{ env.DOXYFILE_NAME }}
31+
- name: Check for Doxygen warnings
32+
working-directory: ${{ env.DOXYFILE_FOLDER }}
33+
run: |
34+
if [ -s doxygen_warnings.log ]; then
35+
echo "Doxygen warnings found:"
36+
cat doxygen_warnings.log
37+
exit 1
38+
else
39+
echo "No Doxygen warnings found."
40+
fi

api/include/opentelemetry/logs/logger.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -292,10 +292,10 @@ class Logger
292292
/**
293293
* Log an event
294294
*
295-
* @severity severity of the log
296-
* @event_id event identifier of the log
297-
* @format an utf-8 string following https://messagetemplates.org/
298-
* @attributes key value pairs of the log
295+
* @param severity severity of the log
296+
* @param event_id event identifier of the log
297+
* @param format an utf-8 string following https://messagetemplates.org/
298+
* @param attributes key value pairs of the log
299299
*/
300300
virtual void Log(Severity severity,
301301
const EventId &event_id,

docs/public/Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -966,7 +966,7 @@ FILTER_SOURCE_PATTERNS =
966966
# (index.html). This can be useful if you have a project on for instance GitHub
967967
# and want to reuse the introduction page also for the doxygen output.
968968

969-
USE_MDFILE_AS_MAINPAGE = ./Overview.md
969+
USE_MDFILE_AS_MAINPAGE =
970970

971971
#---------------------------------------------------------------------------
972972
# Configuration options related to source browsing

docs/public/Doxyfile.lint

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
@INCLUDE = Doxyfile
2+
3+
OUTPUT_DIRECTORY = /tmp
4+
5+
WARNINGS = YES
6+
WARN_IF_UNDOCUMENTED = NO
7+
WARN_IF_DOC_ERROR = YES
8+
WARN_IF_INCOMPLETE_DOC = YES
9+
WARN_NO_PARAMDOC = YES
10+
WARN_AS_ERROR = NO
11+
WARN_LOGFILE = doxygen_warnings.log
12+
QUIET = YES

sdk/include/opentelemetry/sdk/logs/batch_log_record_processor.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ class BatchLogRecordProcessor : public LogRecordProcessor
156156
* any time
157157
*
158158
* @param notify_force_flush Sequence to indicate whether to notify force flush completion.
159+
* @param exporter The log exporter instance that handles exporting logs to the backend.
159160
* @param synchronization_data Synchronization data to be notified.
160161
*/
161162
static void NotifyCompletion(uint64_t notify_force_flush,

sdk/include/opentelemetry/sdk/logs/logger.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ class Logger final : public opentelemetry::logs::Logger
2929
* Initialize a new logger.
3030
* @param name The name of this logger instance
3131
* @param context The logger provider that owns this logger.
32+
* @param instrumentation_scope The instrumentation scope for this logger.
3233
*/
3334
explicit Logger(
3435
opentelemetry::nostd::string_view name,

sdk/include/opentelemetry/sdk/logs/logger_provider.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ class OPENTELEMETRY_EXPORT LoggerProvider final : public opentelemetry::logs::Lo
3636
* @param processor The log record processor for this logger provider. This must
3737
* not be a nullptr.
3838
* @param resource The resources for this logger provider.
39+
* @param logger_configurator The scope configurator used to determine the configs for loggers
40+
* created using this logger provider.
3941
*/
4042
explicit LoggerProvider(
4143
std::unique_ptr<LogRecordProcessor> &&processor,
@@ -87,6 +89,7 @@ class OPENTELEMETRY_EXPORT LoggerProvider final : public opentelemetry::logs::Lo
8789
* @param library_name The version of the library.
8890
* @param library_version The version of the library.
8991
* @param schema_url The schema URL.
92+
* @param attributes The attributes to be associated with the logger.
9093
*/
9194
nostd::shared_ptr<opentelemetry::logs::Logger> GetLogger(
9295
nostd::string_view logger_name,

sdk/include/opentelemetry/sdk/metrics/meter_context.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ class MeterContext : public std::enable_shared_from_this<MeterContext>
5858
* Initialize a new meter provider
5959
* @param views The views to be configured with meter context.
6060
* @param resource The resource for this meter context.
61+
* @param meter_configurator A scope configurator defining the behavior of a meter associated with
62+
* this meter context.
6163
*/
6264
MeterContext(
6365
std::unique_ptr<ViewRegistry> views = std::unique_ptr<ViewRegistry>(new ViewRegistry()),
@@ -128,6 +130,8 @@ class MeterContext : public std::enable_shared_from_this<MeterContext>
128130

129131
/**
130132
* Attaches a View to list of configured Views for this Meter context.
133+
* @param instrument_selector The instrument selector for this view.
134+
* @param meter_selector The meter selector for this view.
131135
* @param view The Views for this meter context. This
132136
* must not be a nullptr.
133137
*

sdk/include/opentelemetry/sdk/metrics/meter_provider.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,8 @@ class OPENTELEMETRY_EXPORT MeterProvider final : public opentelemetry::metrics::
104104

105105
/**
106106
* Attaches a View to list of configured Views for this Meter provider.
107+
* @param instrument_selector The instrument selector for this view.
108+
* @param meter_selector The meter selector for this view.
107109
* @param view The Views for this meter provider. This
108110
* must not be a nullptr.
109111
*

sdk/include/opentelemetry/sdk/resource/resource.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class Resource
3838
*
3939
* The specification notes that if schema urls collide, the resulting
4040
* schema url is implementation-defined. In the C++ implementation, the
41-
* schema url of @param other is picked.
41+
* schema url of @p other is picked.
4242
*
4343
* @param other the Resource that will be merged with this.
4444
* @returns the newly merged Resource.
@@ -50,6 +50,7 @@ class Resource
5050
* Returns a newly created Resource with the specified attributes.
5151
* It adds (merge) SDK attributes and OTEL attributes before returning.
5252
* @param attributes for this resource
53+
* @param schema_url The schema URL for this resource.
5354
* @returns the newly created Resource.
5455
*/
5556

0 commit comments

Comments
 (0)