Merged
Conversation
feb8a61 to
56dfc22
Compare
TartanLeGrand
commented
Jun 13, 2025
| npm run codegen | ||
| npm run build | ||
| cd ../dataprotector-deserializer | ||
| npm run test:prepare |
Contributor
Author
There was a problem hiding this comment.
Why we need this ?
TartanLeGrand
commented
Jun 13, 2025
| working-directory: "packages/dataprotector-deserializer" | ||
| install-command: | | ||
| npm ci | ||
| cd ../sdk |
Contributor
Author
There was a problem hiding this comment.
have make this for get the artifacts from the other build job
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR restructures the CI workflow for publishing the deserializer package by replacing the old set-env job with a set-publish-version job, adding a beta tag option, and updating the publish-npm step to use version 1.4.0 of the reusable workflow with additional setup commands.
- Added a
betarelease tag alongsidelatestandnightly - Introduced a
set-publish-versionjob to calculate and output the package version - Updated
publish-npmto depend onset-publish-version, use v1.4.0 of the reusable workflow, and perform SDK build and test preparation
Comments suppressed due to low confidence (5)
.github/workflows/publish-npm-deserializer.yml:17
- [nitpick] The job is named
set-publish-versionbut also checks out code and sets up Node.js. Consider renaming this tobuild-and-set-version(or split into separatebuild-sdkandset-versionjobs) to more accurately reflect its responsibilities.
set-publish-version:
.github/workflows/publish-npm-deserializer.yml:29
- Using
==in a POSIXshconditional can be brittle on shells that don't support it; use a single=for maximum compatibility ([ ... = ... ]).
if [ "${{ github.event.inputs.tag }}" == "nightly" ]; then
.github/workflows/publish-npm-deserializer.yml:26
- You added a
betatag option for inputs but the version-setting logic only special-casesnightlyand falls back to the base version forbetaandlatest. Ifbetashould publish a pre-release (e.g.1.0.0-beta), extend the script to handle thebetatag explicitly.
if: github.event.inputs.tag == 'nightly'
.github/workflows/publish-npm-deserializer.yml:47
- The workflow now always uses
productionenvironment. Previously, staging was handled viaset-env; ensure that non-latesttags (e.g.beta,nightly) are not inadvertently deployed to a production environment.
environment: production
.github/workflows/publish-npm-deserializer.yml:50
- [nitpick] Chaining multiple
cdcommands ininstall-commandcan be fragile; consider using separate actions orworking-directoryoverrides for each step to avoid directory navigation issues.
install-command: |
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.
This pull request updates the
.github/workflows/publish-npm-deserializer.ymlfile to restructure the CI/CD workflow by replacing theset-envjob with a newbuild-sdkjob and modifying thepublish-npmjob to align with these changes.Workflow restructuring:
set-envjob with a newbuild-sdkjob that uses a Node.js 18 container, installs dependencies, runs code generation, builds the SDK, and uploads the build artifacts (sdk-dist).publish-npmjob to depend on thebuild-sdkjob instead ofset-env. It now uses thefeat/publish-npmversion of the reusable workflow and includes additional setup commands (npm ci && npm run test:prepare).