Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Github actions for build and publish to Open-VSIX and Visual Studio Code Marketplace #130

Merged

Conversation

jreineckearm
Copy link
Contributor

@jreineckearm jreineckearm commented Jan 10, 2025

Changes

This PR addresses #119 and adds Github Actions for

  • Build
  • Publish to Open-VSIX
  • Publish to Visual Studio Code Marketplace

Github actions have been reused from https://github.com/eclipse-cdt-cloud/vscode-memory-inspector/blob/915701a0b5742e218e893cfa0869a48b21005c8a/.github/workflows/ci.yml
Node version has been changed to 14.x to reflect the currently included node types dev dependency. But this can be easily changed to a newer version.

Other changes in this PR

  • Added a clean script.
  • Bumped vsce version to latest.
  • Amended .vscodeignore list. Might need another update to avoid shipping the full node_modules folder including dev dependencies. But should be done separately and with more understanding of production dependencies.

Note: The actions have not been tested yet in this repo! The .vscodeignore updates have been tested locally.

  • The build action should run on PR pushes unless I forgot something. So, hopefully gets tested after opening this PR. The build action requires updates to this repo's CI which I can't add myself. And presumably will break other PRs until this one here is merged. @thegecko, @jonahgraham I need help here as I don't have required rights to make the changes.
  • Publishing itself however cannot be easily tested without making a real release. The actions themselves don't contain URLs or other code with repo specifics. So confidence is high that they work as on the other repos.

How to publish releases

In order to make a release, you need to

  • Manually update the version in package.json as before.
  • Then create and push a release version (git) tag to the main branch. This should start the release actions to both Open-VSIX and the VS Code Marketplace. Also, a release is created on this Github repo which should include the VSIX file as asset.

Findings while working on this

  • For other extensions we use a new CDT Cloud icon/image: https://github.com/eclipse-cdt-cloud/vscode-memory-inspector/blob/915701a0b5742e218e893cfa0869a48b21005c8a/media/cdtcloud.png
    • Should we update this for the CDT GDB Adapter extension as well?
  • The repository doesn't have a CHANGELOG.md to show the release history on both Open-VSIX and the marketplace. It would be valuable to add that. Happy to make it part of this or a new PR, starting to fill it with life from the next release on.
  • As indicated in the discussion in the linked issue, dependencies need a refresh. But we probably want to do this as one or more separate PRs as this certainly requires more testing. And could be done after an initial release to the VS Code marketplace.
  • As mentioned further above, we should investigate if we really need to ship the entire node_modules folder.

- build
- publish (Open-VSIX and VS Code Marketplace)

Signed-off-by: Jens Reinecke <jens.reinecke@arm.com>
Signed-off-by: Jens Reinecke <jens.reinecke@arm.com>
Signed-off-by: Jens Reinecke <jens.reinecke@arm.com>
Signed-off-by: Jens Reinecke <jens.reinecke@arm.com>
@eclipse-cdt-bot
Copy link
Contributor

Can one of the admins verify this patch?

Copy link

@thegecko thegecko left a comment

Choose a reason for hiding this comment

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

this LGTM

Copy link
Contributor

@jonahgraham jonahgraham left a comment

Choose a reason for hiding this comment

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

+1 from me.

@jreineckearm, as @thegecko has full rights on here and you are both in the same timezone, can @thegecko merge and work with him on coordinating the various updates? I don't want to be a blocker by being in the loop in unneeded ways. In other words I give my blanket approval for #119 related changes.

If there is concern that breaking changes are being made, bumping the major version to 2.0 would make sense to me so that consumers know to be aware of unexpected changes.

@thegecko thegecko merged commit 604ead5 into eclipse-cdt-cloud:main Jan 14, 2025
1 check passed
@spoenemann
Copy link

Does this resolve #40 as well?

Can the automated publishing done by the open-vsx bot be removed now (see below)?

https://github.com/EclipseFdn/publish-extensions/blob/86a1fec1831bbe5e2977a3e78c4769c6d2e67de7/extensions.json#L284-L286

@jreineckearm
Copy link
Contributor Author

@spoenemann , I think this would replace the automated publishing process. The idea is that the tag-push sets things off.
But good point raised, we should ensure that the automated publishing is stopped before making a release to avoid potential conflicts.

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.

5 participants