Repository navigation
Trunk-based release: main, required build check, publish by GitHub Release - #96
Merged
Merged
Conversation
axios ^1.6.2 resolved to versions with GHSA-jqh4-m9w3-8hp9 and pulled in form-data and follow-redirects with critical and moderate advisories. npm audit --omit=dev is clean with axios 1.20.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…lease
- build.yml replaces main.yml: lint, test and build on Node.js 20, 22 and 24
against the staging API, run the examples, audit the runtime dependencies
and pack a 0.0.0-ci artifact. The required check is the job 'build'.
- publish.yml: a GitHub Release v{semver} published by tomasr78 sets the
version from the tag, tests, builds and publishes with provenance from the
npm environment, by npm Trusted Publishing once NPM_TRUSTED_PUBLISHING is
set, otherwise with NPM_TOKEN. Never re-publishes a version.
- package.json: 0.0.0-local placeholder version, repository URLs point at
convertapi-library-node (npm provenance checks them), local npm publish
refused.
- RELEASING.md, CHANGELOG.md and weekly Dependabot.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…umbnail example The examples step sent the staging token to the production API and passed on 401s, because every example catches and prints its own error. A CI-only preload now points the clients at CONVERT_API_BASE_URI and any printed error fails the step. pdf -> extract is now the data-extraction converter (returns JSON), so the thumbnail example converts page 1 straight to JPG. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
🟡 Changes recommended
Examples ignore the staging host configuration, and artifact naming causes successful workflow reruns to fail.
2 open issues
What changed in this PR
Moves convertapi to trunk-based development with required CI checks and npm publishing through GitHub Releases.
Changes:
- Adds a Node.js 20/22/24 build matrix, dependency auditing, and CI artifacts.
- Adds release validation, provenance, and configurable npm authentication.
- Updates dependencies, staging test configuration, and release documentation.
| File | Description |
|---|---|
| test/index.js | Supports a configurable API host. |
| RELEASING.md | Documents the release process. |
| README.md | Updates repository links and development guidance. |
| package.json | Updates dependencies, metadata, and publishing hooks. |
| package-lock.json | Locks updated runtime dependencies. |
| CHANGELOG.md | Records release history and prepared changes. |
| .github/workflows/publish.yml | Adds validated GitHub Release publishing. |
| .github/workflows/main.yml | Removes the previous build workflow. |
| .github/workflows/build.yml | Adds matrix validation and package artifacts. |
| .github/dependabot.yml | Schedules weekly dependency updates. |
Review effort: Balanced
|
|
||
| - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 | ||
| with: | ||
| name: convertapi-${{ steps.pack.outputs.version }} |
This was referenced Oct 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Moves the npm package
convertapito the same trunk-based release flow as convertapi-library-dotnet (see itsRELEASING.md).masterhas already been renamed tomain. Open pull requests were retargeted automatically.Build (
build.yml, replacesmain.yml)main, every push tomain, and on demand.0.0.0-ci.{run}.g{sha}artifact.build. It fails if any Node version failed, so a skipped check can never count as passed.secrets.CONVERTAPI_SECRET, which didn't exist, so every run failed with 401. They now run against staging (https://stag-v2.convertapi.com/) with the newCONVERTAPI_STAGING_TOKENsecret, which is also set for Dependabot.test/index.jsreadsCONVERT_API_BASE_URI.persist-credentials: false.Publish (
publish.yml)release: published. Only tomasr78 may publish or re-run it, the same check as in .NET.main, and that the version has never existed on npm.npm version --no-git-tag-version), then audits, tests, builds and checks the tarball.npm publish --provenancefrom thenpmenvironment. Dist-tags:latest,nextfor pre-releases,maintenancefor backports.vars.NPM_TRUSTED_PUBLISHING == 'true', otherwise with theNPM_TOKENsecret.Package
package.jsonnow holds the placeholder version0.0.0-local. Its repository, bugs and homepage URLs now point atconvertapi-library-node, which npm provenance requires.prepublish, which ran lint, tests and build on everynpm install/npm ci, is replaced by aprepublishOnlythat refuses a localnpm publish.^1.6.2→^1.20.0. This closes the high and critical advisories in axios, form-data and follow-redirects.After merge: the
mainandv*tag rulesets, thenpmenvironment (v*tags only), then the release v1.15.1.🤖 Generated with Claude Code