Skip to content

feat(ci): add npm publishing for gitalisk-node package to GitLab registry

What does this MR do?

This MR enhances the manual release job to publish the @gitlab-org/gitalisk-node npm package to GitLab's package registry alongside the existing semantic-release process.

Changes

  • Updated publish-release::manual job:
    • Introduced .npmrc and .npmrc-ci for proper CI authentication with CI_JOB_TOKEN
      • In the ci environment the .npmrc file gets replaced with the .npmrc-ci file's contents
    • Added package name validation to ensure proper scoping (@gitlab-org/)
    • Added workspace-specific publish command for @gitlab-org/gitalisk-node
  • Added npm configuration files:
    • .npmrc: Points @gitlab-org scope to GitLab's npm registry
    • .npmrc-ci: CI-specific configuration using GitLab CI variables for authentication

Why is this needed?

The gitalisk project produces a Node.js addon package (@gitlab-org/gitalisk-node) containing native binaries for multiple architectures that needs to be published to make the Rust functionality available to Node.js consumers.

Testing

  •  Pipeline validation completed using GitLab's Pipeline Editor
  •  Manual job can be triggered without errors
  •  Package naming validation works correctly
  •  Native binaries are built before publishing

Related Issues

Closes #23 (closed)

Edited by Mohammed Osumah

Merge request reports

Loading