asf-tooling commented on issue #252:
URL:
https://github.com/apache/tooling-trusted-releases/issues/252#issuecomment-4410400764
<!-- gofannon-issue-triage-bot v2 -->
**Automated triage** — analyzed at `main@2da7807a`
**Type:** `new_feature` • **Classification:** `actionable` •
**Confidence:** `low` • ⚠️ **Possibly stale**
**Application domain(s):** `announcement_publishing`,
`project_committee_management`
### Summary
This issue requests adding documentation and instructions for PMCs that use
repository.apache.org (Apache's Nexus repository manager) to participate in the
ATR announcement workflow. The current codebase has no mention of
repository.apache.org — announcements reference download URLs based on
dist.apache.org/downloads infrastructure. No prior discussion exists to clarify
what form these 'instructions' should take (UI help text, template variables,
docs pages, or distribution platform integration).
### Where this lives in the code today
#### `atr/construct.py` — `announce_release_subject_and_body` (lines 83-102)
_extension point_
This function performs variable substitution in announcement emails; it
currently generates DOWNLOAD_URL from the dist infrastructure but could be
extended to include repository.apache.org links.
```python
async def announce_release_subject_and_body(
subject: str, body: str, options: AnnounceReleaseOptions
) -> tuple[str, str]:
try:
host = quart.request.host
except RuntimeError:
host = config.get().APP_HOST
async with db.session() as data:
release = await data.release(
project_key=str(options.project_key),
version=str(options.version_key),
_project=True,
_committee=True,
phase=sql.ReleasePhase.RELEASE_PREVIEW,
).demand(RuntimeError(f"Release {options.project_key}
{options.version_key} not found"))
...
download_url = paths.committee_downloads_url(host, committee)
...
body = body.replace("{{DOWNLOAD_URL}}", download_url)
```
#### `atr/get/projects.py` — `_render_finish_form` (lines 396-415)
_extension point_
The project settings page where PMCs configure their announcement templates;
documentation or guidance about repository.apache.org could be added here.
```python
async def _render_finish_form(project: sql.Project) -> htm.Element:
card = htm.Block(htm.div, classes=".card.mb-4")
card.div(".card-header.bg-light.d-flex.justify-content-between.align-items-center")[
htm.h3(".mb-0")["Release policy - Finish options"]
]
announce_release_subject_widget = _input_with_variables(
field_name="announce_release_subject",
default_value=project.policy_announce_release_subject or "",
template_variables=construct.announce_subject_template_variables(),
documentation="Subject line template for announcement emails.",
)
announce_release_template_widget = _textarea_with_variables(
field_name="announce_release_template",
default_value=project.policy_announce_release_template or "",
template_variables=construct.announce_template_variables(),
rows=18,
documentation="Email template for messages to announce a finished
release.",
)
```
#### `atr/get/announce.py` — `selected` (lines 40-50)
_extension point_
The announcement page GET handler where contextual help or documentation
about repository.apache.org could be rendered.
```python
@get.typed
async def selected(
session: web.Committer,
_announce: Literal["announce"],
project_key: safe.ProjectKey,
version_key: safe.VersionKey,
) -> str | web.WerkzeugResponse:
"""
URL: /announce/<project_key>/<version_key>
Allow the user to announce a release preview.
"""
```
### Where new code would go
- `atr/construct.py` — after symbol TEMPLATE_VARIABLES
A new template variable (e.g. REPOSITORY_URL or STAGING_URL) could be
added for PMCs using repository.apache.org.
- `atr/get/announce.py` — after symbol _render_page
Documentation or help text about repository.apache.org could be
conditionally rendered in the announcement page for relevant PMCs.
### Proposed approach
The issue is underspecified. PMCs using repository.apache.org (Apache's
Nexus/Maven staging repository) have a different release workflow from those
using dist.apache.org SVN. The ATR announcement system currently constructs
DOWNLOAD_URL from the dist infrastructure. For Nexus-based PMCs, the
announcement might need to reference a staging repository URL or a Maven
Central URL. Possible approaches: (1) Add a new template variable like
{{REPOSITORY_URL}} that PMCs can optionally include in their announcement
templates; (2) Add project-level configuration for repository.apache.org
staging URLs; (3) Add contextual help text in the UI for PMCs that use Nexus.
Without further discussion from the issue author or maintainers, it's unclear
which approach is intended.
### Open questions
- What specific 'documentation and instructions' are needed — is this UI
help text, template examples, a new template variable, or external
documentation?
- Should repository.apache.org be added as a tracked distribution platform
(alongside PyPI, npm, etc.)?
- Does 'Beta announcement' in the title refer to ATR's own beta status, or
to a beta release workflow feature?
- Should projects have a configuration option to specify their
repository.apache.org staging URL for inclusion in vote/announce emails?
- Is this blocked on ATR reaching a certain maturity level before inviting
Nexus-based PMCs to participate?
### Staleness assessment
_opened 199 days ago; no human comments since opening._
The issue was created 199 days ago with zero human comments and no
discussion. The last update (69 days ago) appears to be automated. The issue
body is a single vague sentence with no specification of what changes are
needed. No code has been added to address repository.apache.org integration
since the issue was filed.
### Files examined
- `atr/construct.py`
- `atr/storage/writers/announce.py`
- `atr/get/announce.py`
- `atr/post/announce.py`
- `atr/shared/announce.py`
- `atr/tasks/svn.py`
- `atr/svn/__init__.py`
- `atr/get/projects.py`
---
*Draft from a triage agent. A human reviewer should validate before merging
any change. The agent did not run tests or verify diffs apply.*
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]