-
Notifications
You must be signed in to change notification settings - Fork 5.9k
dev(ci): complete refactor #2966
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
Conversation
c080bf1
to
022a339
Compare
768ab3c
to
29e39d8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work! Initial pass looks 🔥
A couple things:
- thank you for adding comments!
- nit: can we use spell Node with a capital "N"? 😛
- can we split up workflows for main, release, testing? [dev]: split up test & release into separate workflows #2903 that way, if a test fails, we only have to re-run those jobs
😄
Sure! patching that soon.
I'm hoping that since the CI is much faster in general (lint/fmt now only takes 3min), and since we cache wherever possible right now (currently yarn build dependencies, VSCode build - will refactor all the scripts in |
Ah, I see what you mean. Yeah not sure if that's possible either. Okay no worries then! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I haven't been able to do a full review yet, just dropping this here so we remember to get the libc dependencies back down.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work 🔥
Left one comment asking you to document a couple lines in the CI file. I'll let @code-asher give the final approval
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wait for second approval but LGTM!
Hi there! This has been stalling for a while, mostly because building against an old version of glibc for CentOS 7 on a newer version of Ubuntu turns out to be not an easy process. I haven't pushed these experiments, but I know they don't work:
Over the next days, I'll be looking at docker buildx, and at "dropping" compatibility for CentOS 7 for per-pull request CI and moving the slower CentOS 7 build to a tag/draft release workflow. I really hope we can get new CI soon - I've been fighting this for weeks x.x |
No worries at all! Thanks for the update.
Is it possible to break up this work? i.e. get this PR to a stable state, review, merge and then do the remaining work in a follow-up PR? Just wondering if that would help at all. |
We definitely could do that - the one thing I'm worried about is that we land this (and temporarily drop CentOS 7 support), and then we end up stalling on a follow-up that refactors our release workflow and gets CentOS 7 working again, and having to delay a release/manually build+upload binaries - given our v3.9.2 incident, I don't really want to repeat that >.< |
Me neither! Sounds good to me then holding off. |
0ba77fe
to
712fe9d
Compare
@oxy did you address this?
|
Nearly completely replace the original GitHub actions workflow. Changes: - Move from `.sh` files in `ci/steps` to steps in the workflow. - Move from using docker images for environment to manual setup. - Upgrade nfpm to v2.3.1 BREAKING CHANGE: official arm64 builds no longer support CentOS 7. If you need to use CentOS 7 on arm64, build `code-server` locally. For docs, see the yarn/npm section in `docs/install.md`.
Slowly reorganize CI steps and switch to using GH actions instead of docker images where possible. Initial test only replaces the
fmt
runner.