You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@code-asher I want to subscribe to this, we need to update the VSCode Version, maybe we can automate this process, I will be honored to help you in this task of automation if you want.
@code-asher I have been reading the code of the project and notice that vscode is a submodule of this project, I found some documentation on how the project can automate the process of update the submodules with github actions. I attach some docs for this: https://tommoa.me/blog/github-auto-update-submodules/ . The development team can focus con make the product better and not need to remind to update submodules.
That would be fantastic! We use quilt for patches so the basic workflow is:
Update VS Code submodule to the new version
quilt push -f
If there are conflicts then resolve them
quilt refresh
Back to step two until there are no more patches
If you are not familiar with quilt, the conflicts get placed in .rej files so resolving just means looking at those files and adding the changes back manually.
Often the conflicts are just simple line changes. Upstream added a new line, moved a line, etc, so we just have to re-apply our changes in the new context.
If you decide to tackle this please feel free to lean on me for any support you might need.
@code-asher, this docs are great, I will start working on this the next week on my free time, thank you for the docs, I will be reading it, and let you know if I have some doubts, thank you to let me help on this amazing project.
Ah excellent question, I forgot about this. There might be a
better way but what I do is launch code-server in
Chromium, open an extension's readme, then I take the correct hash
from the error message in the console.
We should probably document this in CONTRIBUTING.md. It is
documented in the patch file itself I believe but it is not
obvious that there are instructions there.
Command code-server --version in JupyterLab Terminal returns 0.0.0 070a5a3179fe8213102854bcb37607bda690358f with Code 1.80.1.
ℹ️ In code-server > Help > About the version is correctly displayed: v4.15.0-rc.1
Ahh thank you! Looks like we set the version in the release.yaml flow just before publishing releases.
If I recall correctly we have this because we wanted the ability to promote an RC to a full release without having to rebuild it (so we can just replace the version without rebuilding since that would technically be a different, untested build) but it has not been fully implemented yet (we still have to set VERSION during build time for the version embedded in VS Code).
I think at some point what we will need to do is remove VERSION and dynamically update lib/vscode/product.json the same way we do package.json instead.
Activity
benz0li commentedon Jul 8, 2023
@code-asher VS Code 1.80.0 was released two days ago: https://code.visualstudio.com/updates/v1_80
Take a
.1/.2-release as base for a new code-server release.ℹ️
.0-releases have had some fundamental bugs..0/.1-releases as base for a release candidate (RC).2-releasealeleba commentedon Jul 10, 2023
@code-asher I want to subscribe to this, we need to update the VSCode Version, maybe we can automate this process, I will be honored to help you in this task of automation if you want.
aleleba commentedon Jul 11, 2023
@code-asher I have been reading the code of the project and notice that vscode is a submodule of this project, I found some documentation on how the project can automate the process of update the submodules with github actions. I attach some docs for this: https://tommoa.me/blog/github-auto-update-submodules/ . The development team can focus con make the product better and not need to remind to update submodules.
code-asher commentedon Jul 11, 2023
Updating the submodule is pretty easy, the more difficult part is resolving conflicts with the patches and I am not sure that can be fully automated.
aleleba commentedon Jul 14, 2023
@code-asher if you teach me on how to resolve this conflicts, I can assist the team on my free time 👍🏼
code-asher commentedon Jul 14, 2023
That would be fantastic! We use
quiltfor patches so the basic workflow is:quilt push -fquilt refreshIf you are not familiar with quilt, the conflicts get placed in
.rejfiles so resolving just means looking at those files and adding the changes back manually.More details here: https://coder.com/docs/code-server/latest/CONTRIBUTING#version-updates-to-code
Often the conflicts are just simple line changes. Upstream added a new line, moved a line, etc, so we just have to re-apply our changes in the new context.
If you decide to tackle this please feel free to lean on me for any support you might need.
aleleba commentedon Jul 15, 2023
@code-asher, this docs are great, I will start working on this the next week on my free time, thank you for the docs, I will be reading it, and let you know if I have some doubts, thank you to let me help on this amazing project.
benz0li commentedon Jul 15, 2023
@code-asher How to get the correct replacement SHA-256 value?
index.html.rej
benz0li commentedon Jul 15, 2023
@aleleba FYI: Docker image
glcr.b-data.ch/jupyterlab/python/base:latest-devtools1 contains code-server and has all prerequisites installed to build code-server itself.ℹ️ See JupyterLab Python docker stack for more information about this image.
Footnotes
Multi-arch:
linux/amd64,linux/arm64/v8↩benz0li commentedon Jul 15, 2023
P.S.: 1.80.1 released
code-asher commentedon Jul 17, 2023
benz0li commentedon Jul 19, 2023
My basic workflow from scratch:
Update Code
quilt push -fquilt refreshSet version
Install dependencies
Build code-server
Build release packages
Then, I deploy at https://coder.jupyter.b-data.ch/ (image
R (base:test-devtools-docker)) and test some functionality manually.benz0li commentedon Jul 19, 2023
Command
code-server --versionin JupyterLab Terminal returns0.0.0 070a5a3179fe8213102854bcb37607bda690358f with Code 1.80.1.ℹ️ In code-server > Help > About the version is correctly displayed:
v4.15.0-rc.1@code-asher Can you tell why that is?
code-asher commentedon Jul 19, 2023
Hmmm good question. It pulls the version from the
package.jsonso maybe it did not get updated somehow?That said, I launched https://coder.jupyter.b-data.ch and opened the JupyterLab terminal and it gives me the right version!
code-asher commentedon Jul 19, 2023
Actually that is not the right version. Previous version. My bad. Will test a bit and see if I get the same issue.
benz0li commentedon Jul 20, 2023
Most likely you started image
R (jupyterlab/r/verse:latest-devtools-docker)instead ofR (base:test-devtools-docker).code-asher commentedon Jul 20, 2023
Ahh thank you! Looks like we set the version in the release.yaml flow just before publishing releases.
If I recall correctly we have this because we wanted the ability to promote an RC to a full release without having to rebuild it (so we can just replace the version without rebuilding since that would technically be a different, untested build) but it has not been fully implemented yet (we still have to set
VERSIONduring build time for the version embedded in VS Code).I think at some point what we will need to do is remove
VERSIONand dynamically updatelib/vscode/product.jsonthe same way we dopackage.jsoninstead.