Use separate tag for NPM dependency resolution by ppkarwasz · Pull Request #408 · apache/logging-parent · GitHub
Skip to content

Use separate tag for NPM dependency resolution - #408

Closed
ppkarwasz wants to merge 1 commit into
mainfrom
fix/site-tag
Closed

ppkarwasz wants to merge 1 commit into
mainfrom
fix/site-tag

Conversation

@ppkarwasz

Copy link
Copy Markdown
Member

In #366, we centralized the process for managing NPM dependencies, replacing the decentralized approach. While this change is transparent for most projects, it introduces a chicken-and-egg problem when releasing logging-parent:

  • The website build fetches NPM dependency versions from the GitHub repository based on a specific tag, currently rel/<version_number>.
  • However, for logging-parent, the rel/<version_number> tag can only be created after the release is validated—which requires building the website.

To resolve this, we propose using a mutable tag: site-deps/<version_number>. This tag will initially point to the commit preceding the release and allow the website build to proceed. Once the release is finalized and the rel/<version_number> tag is available, site-deps/<version_number> will be updated to match it.

Security considerations

I am not a big fan of using mutable tags.
However, previously we had no control on which NPM package versions are used to build the website. Now we lock those dependencies, but we cannot lock the release tag.

In #366, we centralized the process for managing NPM dependencies, replacing the decentralized approach. While this change is transparent for most projects, it introduces a chicken-and-egg problem when releasing `logging-parent`:

* The website build fetches NPM dependency versions from the GitHub repository based on a specific tag, currently `rel/<version_number>`.
* However, for `logging-parent`, the `rel/<version_number>` tag can only be created *after* the release is validated—which requires building the website.

To resolve this, we propose using a mutable tag: `site-deps/<version_number>`. This tag will initially point to the commit preceding the release and allow the website build to proceed. Once the release is finalized and the `rel/<version_number>` tag is available, `site-deps/<version_number>` will be updated to match it.

### Security considerations

I am not a big fan of using mutable tags.
However, previously we had no control on which NPM package versions are used to build the website.
Now we lock those dependencies, but we cannot lock the release tag.
@vy

vy commented Jun 10, 2025

Copy link
Copy Markdown
Member

@ppkarwasz

Copy link
Copy Markdown
Member Author

@ppkarwasz ppkarwasz closed this Jun 10, 2025
@ppkarwasz
ppkarwasz deleted the fix/site-tag branch June 10, 2025 08:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants