Skip to content

Commit 2ad80c2

Browse files
Cleanup collector-sync module (#9631)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
1 parent c48fe2d commit 2ad80c2

File tree

14 files changed

+1113
-275
lines changed

14 files changed

+1113
-275
lines changed

.github/scripts/collector-sync.sh

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,10 @@ if [ ! -d "tmp_repos/opentelemetry-ecosystem-explorer" ]; then
4343
exit 1
4444
fi
4545

46-
VERSION=$(ls -1 tmp_repos/opentelemetry-ecosystem-explorer/ecosystem-registry/collector/core 2>/dev/null | grep -v -i 'SNAPSHOT' | sort -V | tail -n 1)
46+
VERSION=$(find tmp_repos/opentelemetry-ecosystem-explorer/ecosystem-registry/collector/core \
47+
-mindepth 1 -maxdepth 1 -type d -printf '%f\n' 2>/dev/null | \
48+
grep -v -i 'SNAPSHOT' | sort -V | tail -n 1)
49+
4750
if [ -z "$VERSION" ]; then
4851
echo "Error: No collector versions found"
4952
exit 1
@@ -92,7 +95,7 @@ _Last updated: $(date -u '+%Y-%m-%d %H:%M:%S UTC')_"
9295
fi
9396

9497
echo "Checking for component changes..."
95-
CHANGED_FILES=$(git diff --name-only data/collector/)
98+
CHANGED_FILES=$(git diff --name-only data/collector/ data/collector-versions.yml)
9699

97100
if [ -z "$CHANGED_FILES" ]; then
98101
echo "No component changes detected"
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Test collector-sync
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- 'scripts/collector-sync/**'
7+
- '.github/workflows/test-collector-sync.yml'
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
test:
14+
name: Python tests
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@v6
18+
19+
- name: Set up Python
20+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
21+
22+
- name: Install uv
23+
uses: astral-sh/setup-uv@cec208311dfd045dd5311c1add060b2062131d57 # v8.0.0
24+
with:
25+
enable-cache: true
26+
27+
- name: Install dependencies
28+
run: |
29+
cd scripts/collector-sync
30+
uv sync --all-extras
31+
32+
- name: Run pytest
33+
run: |
34+
cd scripts/collector-sync
35+
uv run pytest
36+
37+
- name: Run mypy type checking
38+
run: |
39+
cd scripts/collector-sync
40+
uv run mypy src/
41+
42+
- name: Run ruff linting
43+
run: |
44+
cd scripts/collector-sync
45+
uv run ruff check src/

content/ja/docs/collector/components/receiver.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ default_lang_commit: 1c2b0563e8e66ef0952c442e3662e4bec18a8762 # patched
55
drifted_from_default: true
66
weight: 310
77
# prettier-ignore
8-
cSpell:ignore: activedirectorydsreceiver aerospikereceiver apachereceiver apachesparkreceiver awscloudwatchreceiver awscontainerinsightreceiver awsecscontainermetricsreceiver awsfirehosereceiver awslambdareceiver awss awsxrayreceiver azureblobreceiver azureeventhubreceiver azuremonitorreceiver carbonreceiver chronyreceiver ciscoosreceiver cloudflarereceiver cloudfoundryreceiver collectdreceiver couchdbreceiver datadogreceiver dockerstatsreceiver elasticsearchreceiver envoyalsreceiver expvarreceiver faroreceiver filelogreceiver filestatsreceiver flinkmetricsreceiver fluentforwardreceiver githubreceiver gitlabreceiver googlecloudmonitoringreceiver googlecloudpubsubpushreceiver googlecloudpubsubreceiver googlecloudspannerreceiver haproxyreceiver hostmetricsreceiver httpcheckreceiver huaweicloudcesreceiver icmpcheckreceiver iisreceiver influxdbreceiver jaegerreceiver jmxreceiver journaldreceiver kafkametricsreceiver kafkareceiver kubeletstatsreceiver libhoneyreceiver lokireceiver memcachedreceiver mongodbatlasreceiver mongodbreceiver mysqlreceiver namedpipereceiver netflowreceiver nginxreceiver nopreceiver nsxtreceiver ntpreceiver oracledbreceiver osqueryreceiver otelarrowreceiver otlpjsonfilereceiver otlpreceiver podmanreceiver postgresqlreceiver pprofreceiver prometheusreceiver prometheusremotewritereceiver pulsarreceiver purefareceiver purefbreceiver rabbitmqreceiver receivercreator redfishreceiver redisreceiver riakreceiver saphanareceiver sclusterreceiver seventsreceiver signalfxreceiver simpleprometheusreceiver skywalkingreceiver slogreceiver snmpreceiver snowflakereceiver sobjectsreceiver solacereceiver splunkenterprisereceiver splunkhecreceiver sqlqueryreceiver sqlserverreceiver sshcheckreceiver statsdreceiver stefreceiver syslogreceiver systemdreceiver tcpcheckreceiver tcplogreceiver tlscheckreceiver udplogreceiver vcenterreceiver wavefrontreceiver webhookeventreceiver windowseventlogreceiver windowsperfcountersreceiver windowsservicereceiver xreceiver yanggrpcreceiver zipkinreceiver zookeeperreceiver
8+
cSpell:ignore: activedirectorydsreceiver aerospikereceiver apachereceiver apachesparkreceiver awscloudwatchreceiver awscontainerinsightreceiver awsecscontainermetricsreceiver awsfirehosereceiver awslambdareceiver awss awsxrayreceiver azureblobreceiver azureeventhubreceiver azuremonitorreceiver carbonreceiver chronyreceiver ciscoosreceiver cloudflarereceiver cloudfoundryreceiver collectdreceiver couchdbreceiver datadogreceiver dockerstatsreceiver elasticsearchreceiver envoyalsreceiver expvarreceiver faroreceiver filelogreceiver filestatsreceiver flinkmetricsreceiver fluentforwardreceiver githubreceiver gitlabreceiver googlecloudmonitoringreceiver googlecloudpubsubpushreceiver googlecloudpubsubreceiver googlecloudspannerreceiver haproxyreceiver hostmetricsreceiver httpcheckreceiver huaweicloudcesreceiver icmpcheckreceiver iisreceiver influxdbreceiver jaegerreceiver jmxreceiver journaldreceiver kafkametricsreceiver kafkareceiver kubeletstatsreceiver libhoneyreceiver lokireceiver memcachedreceiver mongodbatlasreceiver mongodbreceiver mysqlreceiver namedpipereceiver netflowreceiver nginxreceiver nopreceiver nsxtreceiver ntpreceiver oracledbreceiver osqueryreceiver otelarrowreceiver otlpjsonfilereceiver otlpreceiver podmanreceiver postgresqlreceiver pprofreceiver prometheusreceiver prometheusremotewritereceiver pulsarreceiver purefareceiver purefbreceiver rabbitmqreceiver receivercreator redfishreceiver redisreceiver riakreceiver saphanareceiver sclusterreceiver seventsreceiver signalfxreceiver simpleprometheusreceiver skywalkingreceiver slogreceiver snmpreceiver snowflakereceiver sobjectsreceiver solacereceiver splunkenterprisereceiver splunkhecreceiver sqlqueryreceiver sqlserverreceiver sshcheckreceiver statsdreceiver stefreceiver syslogreceiver systemdreceiver tcpcheckreceiver tcplogreceiver tlscheckreceiver udplogreceiver vcenterreceiver wavefrontreceiver webhookeventreceiver windowseventlogreceiver windowsperfcountersreceiver windowsservicereceiver xreceiver yanggrpcreceiver zookeeperreceiver
99
---
1010

1111
レシーバーは、さまざまなソースとフォーマットからテレメトリーデータを収集します。
@@ -129,7 +129,6 @@ cSpell:ignore: activedirectorydsreceiver aerospikereceiver apachereceiver apache
129129
| {{< component-link name="windowsperfcountersreceiver" type="receiver" repo="contrib" >}} | contrib | - | beta | - |
130130
| {{< component-link name="windowsservicereceiver" type="receiver" repo="contrib" >}} | contrib | - | development | - |
131131
| {{< component-link name="yanggrpcreceiver" type="receiver" repo="contrib" >}} | contrib | - | alpha | - |
132-
| {{< component-link name="zipkinreceiver" type="receiver" repo="contrib" >}} | contrib, core, K8s | beta | - | - |
133132
| {{< component-link name="zookeeperreceiver" type="receiver" repo="contrib" >}} | contrib | - | alpha | - |
134133

135134
[^1]: このコンポーネントが含まれている[ディストリビューション](/docs/collector/distributions/)(core、contrib、K8sなど)を示します。

data/collector-versions.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
# This file is automatically updated by scripts/collector-sync
33

44
core: v0.149.0
5-
contrib: v0.148.0
5+
contrib: v0.149.0

scripts/collector-sync/README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,9 @@ This automation:
1111
[opentelemetry-ecosystem-explorer](https://github.com/open-telemetry/opentelemetry-ecosystem-explorer)
1212
repository to access the collector registry
1313
2. Reads component metadata from `ecosystem-registry/collector/`
14-
3. Generates markdown tables with component information
15-
4. Updates documentation pages in `content/en/docs/collector/components/`
16-
5. Updates version information in `data/collector-versions.yml`
17-
6. Fixes spelling errors in component names
18-
7. Creates/updates pull requests with the changes
14+
3. Updates data registry files in `data/collector/`
15+
4. Updates version information in `data/collector-versions.yml`
16+
5. Creates/updates pull requests with the changes
1917

2018
## Version Management
2119

@@ -38,8 +36,6 @@ The automation:
3836
**To update versions for a new release:**
3937

4038
1. Run the automation script (updates `data/collector-versions.yml`)
41-
2. Hugo automatically uses new versions in all component links
42-
3. No need to regenerate markdown tables
4339

4440
## Local Development
4541

@@ -49,9 +45,9 @@ The automation:
4945
# Install uv
5046
curl -LsSf https://astral.sh/uv/install.sh | sh
5147
52-
# Install Python dependencies
48+
# Install Python dependencies (including dev dependencies)
5349
cd scripts/collector-sync
54-
uv sync
50+
uv sync --all-extras
5551
```
5652

5753
### Running Locally
@@ -66,12 +62,16 @@ uv run python -m documentation_sync --no-update
6662

6763
### Testing
6864

65+
**Prerequisites:** Ensure dev dependencies are installed with
66+
`uv sync --all-extras`.
67+
6968
```bash
7069
# Run all tests
7170
npm run test:collector-sync
7271
7372
# Or run individually
7473
npm run check:collector-sync # pytest
74+
npm run check:collector-sync:types # mypy type checking
7575
npm run check:collector-sync:lint # ruff linting
7676
7777
# Auto-fix linting issues

scripts/collector-sync/src/documentation_sync/component_data_generator.py

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,20 @@
11
"""Generate YAML data files for Hugo rendering of component tables."""
22

3-
import re
3+
import logging
44
from pathlib import Path
55
from typing import Any
66

77
import yaml
88

9-
import logging
10-
119
from documentation_sync import component_utils
1210
from documentation_sync.metadata_diagnostics import MetadataDiagnostics
1311

1412
logger = logging.getLogger(__name__)
1513

1614
class IndentDumper(yaml.Dumper):
17-
def increase_indent(self, flow=False, indentless=False):
15+
def increase_indent(self, flow: bool = False, indentless: bool = False) -> Any:
1816
# Setting indentless=False forces the list items to indent
19-
return super(IndentDumper, self).increase_indent(flow, False)
17+
return super().increase_indent(flow, False)
2018

2119
class ComponentDataGenerator:
2220
"""Generates component data files."""
@@ -139,9 +137,3 @@ def write_component_data_files(self, inventory: dict[str, Any], output_dir: Path
139137
)
140138

141139
logger.info(" ✓ %s", output_file.relative_to(output_dir))
142-
143-
144-
class IndentDumper(yaml.Dumper):
145-
def increase_indent(self, flow=False, indentless=False):
146-
# Setting indentless=False forces the list items to indent
147-
return super(IndentDumper, self).increase_indent(flow, False)

scripts/collector-sync/src/documentation_sync/explorer_repository_manager.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import logging
44
from pathlib import Path
5-
from typing import Optional
65

76
from git import Repo
87
from git.exc import GitCommandError
@@ -16,15 +15,15 @@ class ExplorerRepositoryManager:
1615
EXPLORER_REPO_URL = "https://github.com/open-telemetry/opentelemetry-ecosystem-explorer.git"
1716
DEFAULT_CLONE_PATH = Path("tmp_repos/opentelemetry-ecosystem-explorer")
1817

19-
def __init__(self, clone_path: Optional[Path] = None):
18+
def __init__(self, clone_path: Path | None = None):
2019
"""Initialize the repository manager.
2120
2221
Args:
2322
clone_path: Path where the repository should be cloned.
2423
Defaults to tmp_repos/opentelemetry-ecosystem-explorer
2524
"""
2625
self.clone_path = clone_path or self.DEFAULT_CLONE_PATH
27-
self._repo: Optional[Repo] = None
26+
self._repo: Repo | None = None
2827

2928
def ensure_repository(self) -> Path:
3029
"""Ensure the repository is cloned and up to date.

0 commit comments

Comments
 (0)