Skip to content

Conversation

@kpal81xd
Copy link
Contributor

@kpal81xd kpal81xd commented May 12, 2025

Overview

  • Updates release script to be bash based over node
  • Uses the npm version command to create and update versions with and without tagging
  • Removes ability to choose manually between create and finalize release (will be determined based on current branch)
  • Changes default confirmation to N instead of Y
  • Updated publish.yaml to use prerelease tag preview and adds step to upload to code.playcanvas.com

Testing

  • Check minor release
  • Check patch/prerelease

Post Merge

  • Cherry pick over to release-2.7
  • Cherry pick over to main_v1
  • Cherry pick over to release-1.77

@kpal81xd kpal81xd self-assigned this May 12, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Updates the release process by replacing the Node.js script with a Bash script, adjusting version formats, and extending the CI workflow to handle preview releases and upload to code.playcanvas.com.

  • Adds release.sh for branch- and tag-based releases, removes release.cjs
  • Adjusts package.json dev version to include .0
  • Updates publish.yaml to support preview prerelease tags and a new upload step

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

File Description
release.sh New Bash-based release script handling branch creation and finalization
release.cjs Entirely removed old Node.js release script
package.json Bump dev version from "2.8.0-dev" to "2.8.0-dev.0"
.github/workflows/publish.yaml Add preview tag pattern, publish step branching, and upload to API
Comments suppressed due to low confidence (1)

release.sh:9

  • The dot in the version regex is not escaped, so it matches any character. Escape it (e.g., \.) to ensure it only matches the literal period.
RELEASE_REGEX="^$RELEASE_PREFIX[0-9]+.[0-9]+$"

@kpal81xd kpal81xd requested a review from Copilot May 14, 2025 14:30
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR updates the release process by replacing the Node‐based script with a Bash script and adjusting the release versioning and publishing workflows. Key changes include:

  • Introducing a Bash-based release script (release.sh) while removing the previous release.cjs.
  • Updating version formatting in package.json.
  • Enhancing the publish workflow (.github/workflows/publish.yaml) to handle preview releases and add a step for publishing to code.playcanvas.com.

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

File Description
release.sh New Bash release script to create and finalize releases using npm version commands.
release.cjs Removal of the legacy Node-based release script.
package.json Updated version field to include a build segment.
.github/workflows/publish.yaml Adjusted tag parsing and publishing logic to support the preview prerelease tag and publish step.
Comments suppressed due to low confidence (1)

package.json:3

  • [nitpick] The updated version format now includes an additional build segment ('.0'); ensure that related versioning documentation and downstream tooling are updated accordingly.
"version": "2.8.0-dev.0",

Co-authored-by: Copilot <[email protected]>
@kpal81xd kpal81xd merged commit 825a78b into main May 14, 2025
7 checks passed
@kpal81xd kpal81xd deleted the version branch May 14, 2025 14:54
kpal81xd added a commit that referenced this pull request May 14, 2025
* removed dev from version

* Add CommonJS support to ESLint config and improve console log formatting in release script

* WIP: release script updated version

* Fix release script to use current branch name and improve branch handling logic

* Simplify finalization prompt in release script by removing tag existence check

* Add git fetch command to ensure remote tags are available before finalizing release

* Refactor condition check for branch type in release script

* Add comments to clarify branch checks in release script

* Normalize prompt responses in release script for consistency

* Changed main branch to main

* Enhance help message and usage instructions in release script

* Add comment to clarify release type determination in release script

* Update prompt message for finalizing release to include release type

* Refactor release script to improve prompt message and ensure prerelease tagging

* Refactor release script to use variables for prerelease identifiers and improve version calculation logic

* Add checks for uncommitted changes and streamline version calculation in release script

* Update publish workflow to use 'preview' tag instead of 'alpha' for pre-release versions

* Remove npm version command from pre-release tag detection in publish workflow

* Add publishing step to code.playcanvas.com in workflow

* Fix engine version variable in PlayCanvas publish step

* Refactor tag parsing and publishing logic in workflow

* Fix tag condition in npm publish step to use regex for preview detection

* Add silent flag to curl command for PlayCanvas publishing step

* Fix curl command in PlayCanvas publishing step to handle errors

* Remove deprecated CommonJS configuration and release script

* fix: Update PlayCanvas publish endpoint to use secret variable

* Update .github/workflows/publish.yaml

Co-authored-by: Copilot <[email protected]>

* Update release.sh

Co-authored-by: Copilot <[email protected]>

* Update release.sh

Co-authored-by: Copilot <[email protected]>

* Update release.sh

Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: Copilot <[email protected]>
kpal81xd added a commit that referenced this pull request May 14, 2025
* removed dev from version

* Add CommonJS support to ESLint config and improve console log formatting in release script

* WIP: release script updated version

* Fix release script to use current branch name and improve branch handling logic

* Simplify finalization prompt in release script by removing tag existence check

* Add git fetch command to ensure remote tags are available before finalizing release

* Refactor condition check for branch type in release script

* Add comments to clarify branch checks in release script

* Normalize prompt responses in release script for consistency

* Changed main branch to main

* Enhance help message and usage instructions in release script

* Add comment to clarify release type determination in release script

* Update prompt message for finalizing release to include release type

* Refactor release script to improve prompt message and ensure prerelease tagging

* Refactor release script to use variables for prerelease identifiers and improve version calculation logic

* Add checks for uncommitted changes and streamline version calculation in release script

* Update publish workflow to use 'preview' tag instead of 'alpha' for pre-release versions

* Remove npm version command from pre-release tag detection in publish workflow

* Add publishing step to code.playcanvas.com in workflow

* Fix engine version variable in PlayCanvas publish step

* Refactor tag parsing and publishing logic in workflow

* Fix tag condition in npm publish step to use regex for preview detection

* Add silent flag to curl command for PlayCanvas publishing step

* Fix curl command in PlayCanvas publishing step to handle errors

* Remove deprecated CommonJS configuration and release script

* fix: Update PlayCanvas publish endpoint to use secret variable

* Update .github/workflows/publish.yaml

Co-authored-by: Copilot <[email protected]>

* Update release.sh

Co-authored-by: Copilot <[email protected]>

* Update release.sh

Co-authored-by: Copilot <[email protected]>

* Update release.sh

Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: Copilot <[email protected]>
kpal81xd added a commit that referenced this pull request May 14, 2025
* removed dev from version

* Add CommonJS support to ESLint config and improve console log formatting in release script

* WIP: release script updated version

* Fix release script to use current branch name and improve branch handling logic

* Simplify finalization prompt in release script by removing tag existence check

* Add git fetch command to ensure remote tags are available before finalizing release

* Refactor condition check for branch type in release script

* Add comments to clarify branch checks in release script

* Normalize prompt responses in release script for consistency

* Changed main branch to main

* Enhance help message and usage instructions in release script

* Add comment to clarify release type determination in release script

* Update prompt message for finalizing release to include release type

* Refactor release script to improve prompt message and ensure prerelease tagging

* Refactor release script to use variables for prerelease identifiers and improve version calculation logic

* Add checks for uncommitted changes and streamline version calculation in release script

* Update publish workflow to use 'preview' tag instead of 'alpha' for pre-release versions

* Remove npm version command from pre-release tag detection in publish workflow

* Add publishing step to code.playcanvas.com in workflow

* Fix engine version variable in PlayCanvas publish step

* Refactor tag parsing and publishing logic in workflow

* Fix tag condition in npm publish step to use regex for preview detection

* Add silent flag to curl command for PlayCanvas publishing step

* Fix curl command in PlayCanvas publishing step to handle errors

* Remove deprecated CommonJS configuration and release script

* fix: Update PlayCanvas publish endpoint to use secret variable

* Update .github/workflows/publish.yaml

Co-authored-by: Copilot <[email protected]>

* Update release.sh

Co-authored-by: Copilot <[email protected]>

* Update release.sh

Co-authored-by: Copilot <[email protected]>

* Update release.sh

Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: Copilot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants