## Problem
The `changelog-host` action parameter was being ignored when using
manifest configuration files (`release-please-config.json`). This caused
changelog links to always point to `github.com` instead of the specified
GitHub Enterprise Server URL, breaking changelog functionality for
GitHub Enterprise users.
## Root Cause
The original implementation attempted to pass `changelogHost` through
`manifestOverrides` to the `Manifest.fromManifest()` method. However,
`changelogHost` is not part of the `ManifestOptions` interface - it
belongs to the per-path `ReleaserConfig` interface. This architectural
mismatch meant the parameter was silently ignored.
## Solution
Modified the `loadOrBuildManifest()` function to:
1. Load the manifest normally without trying to pass `changelogHost`
through manifest options
2. Post-process the loaded manifest to override `changelogHost` for all
configured paths when the action input is provided and differs from the
default GitHub URL
## Technical Details
- **Before**: Attempted to use `manifestOverrides.changelogHost`
(invalid approach)
- **After**: Directly modifies
`manifest.repositoryConfig[path].changelogHost` for each path after
manifest loading
- Only applies the override when `changelog-host` input is provided and
differs from `https://github.com`
- Preserves existing behavior for config-less operation (single package
repos)
## Testing
- Updated existing test to verify the new implementation approach
- Maintains backward compatibility with all existing functionality
- Fixes the specific issue where GitHub Enterprise users couldn't
customize changelog host URLs
## Impact
This fix enables GitHub Enterprise Server users to properly use the
`changelog-host` parameter with manifest configurations, ensuring
changelog links point to their custom Git hosting instead
---------
Co-authored-by: Vincent Lee <vincentclee@users.noreply.github.com>
v3 had this option and must be configurable or at least set to `false`
so that the default behavior is to create a plain `v1.2.3` tag (without
the component name prefixed).
Found this while dogfooding our own usage of the action (in this repo).
Any advanced configuration should be done via a
release-please-config.json.
Fixes#859Fixes#858Fixes#857Fixes#852
feat!: remove most configuration options in favor of manifest
configuration to configure the release-please-action
refactor!: rewrite in typescript
feat!: remove command option in favor of setting `release-type` and
`skip-github-release`/`skip-github-pull-request`
feat!: run on node20
deps!: upgrade release-please to v16
Fix the
[build](https://github.com/google-github-actions/release-please-action/actions/runs/6384766312/job/17328084659):
```
> release-please-action@3.7.12 build
> ncc build index.js
ncc: Version 0.27.0
ncc: Compiling file index.js
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:68:19)
at Object.createHash (node:crypto:138:10)
at hashOf (/home/runner/work/release-please-action/release-please-action/node_modules/@vercel/ncc/dist/ncc/index.js.cache.js:1:3253134)
at ncc (/home/runner/work/release-please-action/release-please-action/node_modules/@vercel/ncc/dist/ncc/index.js.cache.js:1:3256648)
at runCmd (/home/runner/work/release-please-action/release-please-action/node_modules/@vercel/ncc/dist/ncc/cli.js.cache.js:1:51537)
at 819 (/home/runner/work/release-please-action/release-please-action/node_modules/@vercel/ncc/dist/ncc/cli.js.cache.js:1:48344)
at __webpack_require__ (/home/runner/work/release-please-action/release-please-action/node_modules/@vercel/ncc/dist/ncc/cli.js.cache.js:1:55043)
at /home/runner/work/release-please-action/release-please-action/node_modules/@vercel/ncc/dist/ncc/cli.js.cache.js:1:55194
at /home/runner/work/release-please-action/release-please-action/node_modules/@vercel/ncc/dist/ncc/cli.js.cache.js:1:55220
at Object.<anonymous> (/home/runner/work/release-please-action/release-please-action/node_modules/@vercel/ncc/dist/ncc/cli.js:8:28) {
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
```
I think the problem is linked to the [Node version
upgrade](https://github.com/google-github-actions/release-please-action/pull/835)
and the [OpenSSL
version](https://nodejs.org/fr/blog/vulnerability/openssl-november-2022).
The `@vercel/ncc` upgrade fixes the problem because they
[replaced](https://github.com/vercel/ncc/pull/868) a deprecated hash
algorithm with _sha256_.