asyncapi / asyncapi/spec

ci: bump pinned npm packages (semantic-release, conventional-changelog) and markdownlint-cli Docker image in CI workflows

Open
#1,210 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
5.3k
Forks
382
Avg merge
7m
Merged PRs (30d)
4

Description

### Describe the bug

Several CI workflows in this repository pin severely outdated npm packages and Docker images inline. Unlike the GitHub Actions version bumps tracked in #1194, #1196, and #1198 (which address \ctions/checkout\, \ctions/github-script\, and \ctions/setup-node\), the **npm packages and Docker images installed at runtime** have not been updated and are now significantly behind their latest releases.

#### Affected files and outdated versions

**\.github/workflows/release.yml\** (lines 22, 30):
- \conventional-changelog-conventionalcommits@6.1.0\ — pinned at v6.1.0. The current latest is v8.x. This package provides the commit parsing preset used by semantic-release.
- \semantic-release@21.0.7\ — pinned at v21.0.7. The current latest stable is **v25.0.3** (4 major versions behind). Newer versions include important bug fixes, improved plugin compatibility, and security patches.

**\.github/workflows/lint.yml\** (line 16):
- \ghcr.io/igorshubovych/markdownlint-cli:v0.35.0\ — pinned at v0.35.0. The current latest is **v0.48.0** (13 minor versions behind). Newer versions include updated linting rules, bug fixes, and better CommonMark compliance.

### To Reproduce

You can spot this by looking at the pinned versions in the workflow files and comparing them against what's currently available:

- In [\.github/workflows/release.yml\](https://github.com/asyncapi/spec/blob/master/.github/workflows/release.yml), line 22 installs \conventional-changelog-conventionalcommits@6.1.0\ and line 30 runs \semantic-release@21.0.7\. Checking npm shows the latest stable releases are \semantic-release@25.0.3\ and \conventional-changelog-conventionalcommits@8.x\ respectively — a gap of several major versions on both.

- In [\.github/workflows/lint.yml\](https://github.com/asyncapi/spec/blob/master/.github/workflows/lint.yml), line 16 pulls the \ghcr.io/igorshubovych/markdownlint-cli:v0.35.0\ Docker image. The latest available tag is \ 0.48.0\, putting this 13 minor releases behind.

### Expected behavior

CI workflows should use reasonably up-to-date versions of their runtime dependencies to benefit from bug fixes, security patches, and improved rule coverage. Pinned versions should be periodically reviewed and bumped.

### Sample document

Not applicable — this is a CI infrastructure issue.

### Additional context

- This issue is complementary to #1194 (checkout v3 → v4), #1196 (github-script v6 → v7), and #1198 (setup-node v3 → v4 / Node 18 → 20). Those issues cover GitHub Actions versions; **this issue covers the npm packages and Docker images those workflows install at runtime**.
- The \
elease.yml\ workflow is particularly sensitive since it runs \semantic-release\ to cut every spec release.
- A major version bump of \semantic-release\ (21 → 25) may require checking the \.releaserc\ configuration for breaking changes, though the basic configuration used in this repo is typically compatible.
- Suggested approach: bump in a test branch, verify a dry-run release, then merge.

Contributor guide

Open the contributing guide

Research direction

Start with .github/workflows/release.yml lines 22 and 30 and .github/workflows/lint.yml line 16 to review the pinned npm packages and markdownlint-cli image. Check .releaserc for semantic-release compatibility, then verify the updated workflows with a release dry run and CI linting; done means the specified runtime dependencies are updated without breaking release or lint workflows.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, github-actions, javascript
Domain
ci-cd, devops
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.