Skip to content

Use singular S3 key prefixes for changelog/bundle artifacts#3434

Merged
cotti merged 1 commit into
mainfrom
changelog/singular-bucket-prefix
Jun 1, 2026
Merged

Use singular S3 key prefixes for changelog/bundle artifacts#3434
cotti merged 1 commit into
mainfrom
changelog/singular-bucket-prefix

Conversation

@cotti
Copy link
Copy Markdown
Contributor

@cotti cotti commented Jun 1, 2026

Why

The changelog automation uploads artifacts to S3 under plural folder prefixes ({product}/changelogs/ and {product}/bundles/), but everywhere else in the codebase these entities are singular (ArtifactType.Changelog, ArtifactType.Bundle). This inconsistency is a small mishap worth correcting now, before any consumer reads the published layout from the CDN.

What

Artifacts now upload under {product}/changelog/ and {product}/bundle/, and the scrubber Lambda detects bundles via the /bundle/ path segment. Upload-target and incremental-uploader tests were updated to assert the new keys.

This changes where new objects are written in the elastic-docs-v3-changelog-bundles[-private] buckets. There is no consumer of these prefixes yet, so the only follow-up is housekeeping: optionally migrate/relabel any objects already written under the old plural prefixes (or let them age out). The S3 bucket names and the local :::{changelog} directive folder convention (changelog/bundles/ in a docset) are unchanged.

Companion docs-only PRs update the matching references in docs-infra and docs-actions.

Made with Cursor

Align the S3 object key prefixes with the singular entity naming used
throughout the codebase (ArtifactType.Changelog / ArtifactType.Bundle).

Uploads now land under {product}/changelog/ and {product}/bundle/
instead of the plural {product}/changelogs/ and {product}/bundles/,
and the scrubber Lambda detects bundles via the /bundle/ path segment.

Co-authored-by: Cursor <cursoragent@cursor.com>
@cotti cotti requested a review from a team as a code owner June 1, 2026 13:06
@cotti cotti requested a review from reakaleek June 1, 2026 13:06
@cotti cotti added the bug label Jun 1, 2026
@cotti cotti temporarily deployed to integration-tests June 1, 2026 13:06 — with GitHub Actions Inactive
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jun 1, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: e9717acc-17fe-45f8-b973-e2194aa47e2a

📥 Commits

Reviewing files that changed from the base of the PR and between 4856b14 and 089e3ab.

📒 Files selected for processing (6)
  • src/infra/docs-lambda-changelog-scrubber/Program.cs
  • src/infra/docs-lambda-changelog-scrubber/README.md
  • src/services/Elastic.Changelog/Uploading/ChangelogUploadService.cs
  • tests/Elastic.Changelog.Tests/Changelogs/LinkAllowlistSanitizerTests.cs
  • tests/Elastic.Changelog.Tests/Uploading/ChangelogUploadServiceTests.cs
  • tests/Elastic.Documentation.Integrations.Tests/S3/S3IncrementalUploaderTests.cs

📝 Walkthrough

Walkthrough

This PR renames S3 object key paths for changelog and bundle uploads from plural to singular directory conventions. The ChangelogUploadService now constructs paths using {product}/changelog/ and {product}/bundle/ instead of {product}/changelogs/ and {product}/bundles/. The Lambda scrubber is updated to recognize the new "/bundle/" pattern for routing, with corresponding README documentation updates. Test assertions across unit and integration test suites are updated to verify the new path formats.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately and concisely describes the main change: switching S3 key prefixes from plural to singular forms for changelog and bundle artifacts.
Description check ✅ Passed The description clearly explains why the change is needed, what is being changed, and the scope of impact, all directly related to the changeset.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch changelog/singular-bucket-prefix

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@cotti cotti self-assigned this Jun 1, 2026
@cotti cotti merged commit 8d81400 into main Jun 1, 2026
26 checks passed
@cotti cotti deleted the changelog/singular-bucket-prefix branch June 1, 2026 14:51
cotti added a commit that referenced this pull request Jun 1, 2026
Follows #3434, which moved bundle/changelog artifacts from {product}/bundles/
and {product}/changelogs/ to the singular {product}/bundle/ and
{product}/changelog/. The CDN consumer fetched bundles from the old plural
path, so it would 404 against the new layout; this points it at
{product}/bundle/{file} and updates the registry docs/comments/tests to match.
The directive's local-folder convention (changelog/bundles/) is unchanged.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants