Thanks to visit codestin.com
Credit goes to github.com

Skip to content

⚙️ - Void version from : tag (semver) commit and date#279

Merged
andrewpareles merged 47 commits intovoideditor:mainfrom
jcommaret:voidVersion-from-tag
Mar 21, 2025
Merged

⚙️ - Void version from : tag (semver) commit and date#279
andrewpareles merged 47 commits intovoideditor:mainfrom
jcommaret:voidVersion-from-tag

Conversation

@jcommaret
Copy link
Contributor

@jcommaret jcommaret commented Feb 11, 2025

This PR allows consistent auto-version numbering into the dialogHandler,

  • product.json voidVersion number from tag
  • product.json commit from commit hash
  • product.json date from commit date

Everything is done with an automated tag / hash / date creation. running

  • npm run void-version-patch
  • npm run void-version-minor
  • npm run void-version-major

This fix #248

And this is not touching the version numbering used by vscode. So this should not interfere with marketplace.

Capture d’écran 2025-02-11 à 14 41 10


Important

Automates versioning in product.json with new scripts and updates NativeDialogHandler to display voidVersion.

  • Behavior:
    • Adds automated versioning scripts void-version-patch, void-version-minor, and void-version-major in package.json.
    • Updates product.json with voidVersion, commit, and date using scripts/update-version.js.
    • NativeDialogHandler in dialogHandler.ts now displays voidVersion in the about dialog.
  • Scripts:
    • New script update-version.js updates voidVersion, commit, and date in product.json.
  • Models:
    • Adds voidVersion to IProductConfiguration in product.ts.

This description was created by Ellipsis for 7bcecee. It will automatically update as commits are pushed.

@jcommaret jcommaret changed the title Void version from tag Void version from : tag (server) commit and date Feb 11, 2025
Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

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

❌ Changes requested. Reviewed everything up to 7bcecee in 2 minutes and 8 seconds

More details
  • Looked at 167 lines of code in 5 files
  • Skipped 0 files when reviewing.
  • Skipped posting 5 drafted comments based on config settings.
1. product.json:40
  • Draft comment:
    Add a newline at the end of product.json to follow best practices.
  • Reason this comment was not posted:
    Decided after close inspection that this draft comment was likely wrong and/or not actionable: usefulness confidence = 10% vs. threshold = 50%
    While having a newline at the end of files is indeed a common best practice, this kind of formatting issue is typically handled by automated formatters and linters. It's a very minor issue that doesn't affect functionality. The rules state we should not make purely informative comments or obvious/unimportant ones.
    The missing newline could cause issues with some tools or in some development environments. It's a widely accepted Unix convention.
    While true, this is exactly the kind of issue that should be handled by automated tooling rather than manual review comments. If it's important to the project, it should be enforced by a linter.
    The comment should be deleted as it's too minor for a manual review comment and would be better handled by automated tooling.
2. src/vs/workbench/electron-sandbox/parts/dialogs/dialogHandler.ts:85
  • Draft comment:
    Verify that the localization message correctly maps voidVersion and VSCode version; the new order may be confusing for translators.
  • Reason this comment was not posted:
    Confidence changes required: 50% <= threshold 50%
    None
3. package.json:79
  • Draft comment:
    Consider cross-platform compatibility: the inline shell commands (e.g. using $(...)) may not work on Windows. Use a cross-platform solution or document the intended environment.
  • Reason this comment was not posted:
    Decided after close inspection that this draft comment was likely wrong and/or not actionable: usefulness confidence = 20% vs. threshold = 50%
    The scripts are development tooling scripts for version bumping, not core functionality. The team likely has a standard development environment. The $(...) syntax is used in many other existing scripts in package.json. If Windows compatibility was a requirement, it would likely have been standardized already. Making everything cross-platform compatible would add complexity for potentially little benefit.
    The comment identifies a real technical issue - the scripts won't work on Windows PowerShell. This could cause problems if any team members use Windows for development.
    While technically correct, this seems like an overly cautious concern for development scripts. The existing codebase already uses this pattern extensively, suggesting the team has accepted this limitation.
    The comment should be deleted. While technically accurate, it raises a minor compatibility issue that the project has already implicitly accepted in its other scripts. The benefit of cross-platform compatibility doesn't justify the added complexity for these development-only scripts.
4. scripts/update-version.js:14
  • Draft comment:
    It's advisable to wrap execSync('git rev-parse HEAD') in a try/catch block to handle potential errors when the git command fails.
  • Reason this comment was not posted:
    Marked as duplicate.
5. src/vs/workbench/electron-sandbox/parts/dialogs/dialogHandler.ts:85
  • Draft comment:
    Verify that the localization string placeholders match the intended order. The new about text now shows 'Void' version first followed by VSCode version; ensure this order is correct for all locales.
  • Reason this comment was not posted:
    Comment did not seem useful. Confidence is useful = 0% <= threshold 50%
    The comment is asking the PR author to verify the order of localization string placeholders, which is against the rules as it asks for confirmation of intention. It does not provide a specific suggestion or point out a clear issue that needs addressing.

Workflow ID: wflow_S7KEIycqgpUtmBvi


Want Ellipsis to fix these issues? Tag @ellipsis-dev in a comment. You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet mode, and more.

@jcommaret jcommaret changed the title Void version from : tag (server) commit and date Void version from : tag (semver) commit and date Feb 11, 2025
@jcommaret
Copy link
Contributor Author

@andrewpareles : this is also working nicely and does not make conflicts (updated today)

@jcommaret jcommaret changed the title Void version from : tag (semver) commit and date ⚙️ - Void version from : tag (semver) commit and date Mar 19, 2025
@andrewpareles
Copy link
Contributor

Nice work on this - going to manually change the version for now :), but this is super helpful. When we add CI/CD will look at the bump scripts.

@andrewpareles andrewpareles merged commit 9dc7632 into voideditor:main Mar 21, 2025
@jcommaret jcommaret deleted the voidVersion-from-tag branch March 22, 2025 02:45
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.

[Version]Missmatching

2 participants