-
Notifications
You must be signed in to change notification settings - Fork 1
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
Refactor build #25
base: main
Are you sure you want to change the base?
Refactor build #25
Conversation
…lpine base image I would need to create multiple layers for each programming language with their common tools, starting with rust. Signed-off-by: Eden Reich <[email protected]>
…ontainers with Rust tools support and minimal ones Signed-off-by: Eden Reich <[email protected]>
## [0.1.4-rc.1](0.1.3...0.1.4-rc.1) (2025-02-16) ### ♻️ Improvements * **docker:** Simplify Dockerfile and update build process with Alpine base image ([ccf6275](ccf6275)) ### 🐛 Bug Fixes * **docker-compose:** Update coder service image version to 0.1.3 with alpine base image ([c2d26b0](c2d26b0)) * **docker:** Add git and curl to the container image for enhanced functionality ([b21b49b](b21b49b)) ### 👷 CI * Enhance GitHub Actions workflow for building and pushing Docker containers with Rust tools support and minimal ones ([3a50346](3a50346))
🎉 This PR is included in version 0.1.4-rc.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
… cross-compilation Signed-off-by: Eden Reich <[email protected]>
It often doesn't fit in Github UI which is quite annoying. Signed-off-by: Eden Reich <[email protected]>
b59e42d
to
a41ed31
Compare
Signed-off-by: Eden Reich <[email protected]>
…runner Signed-off-by: Eden Reich <[email protected]>
47e0cc6
to
41e2c5f
Compare
Signed-off-by: Eden Reich <[email protected]>
## [0.1.4-rc.2](0.1.4-rc.1...0.1.4-rc.2) (2025-02-16) ### ♻️ Improvements * Update Dockerfile and CI workflow to use clang and llvm for cross-compilation ([c0cf8d3](c0cf8d3)) ### 👷 CI * Increase timeout for B&P Containers job to 65 minutes ([c90a1f4](c90a1f4)) * Make the Build and Push job name shorter ([a41ed31](a41ed31)) * Reduce timeout for B&P Containers job from 65 to 15 minutes ([f610944](f610944)) * Update Ubuntu version in release workflow to 24.04 and add arm64 runner ([41e2c5f](41e2c5f))
🎉 This PR is included in version 0.1.4-rc.2 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Finally have my own runners using ARC on Arm64, will give it a test. Signed-off-by: Eden Reich <[email protected]>
## [0.1.4-rc.3](0.1.4-rc.2...0.1.4-rc.3) (2025-02-17) ### 👷 CI * Change ARM64 jobs to use self-hosted runners in release workflow ([274d375](274d375))
🎉 This PR is included in version 0.1.4-rc.3 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Signed-off-by: Eden Reich <[email protected]>
…ted jobs Just to ensure it runs on the correct dynamic runner. Signed-off-by: Eden Reich <[email protected]>
## [0.1.4-rc.4](0.1.4-rc.3...0.1.4-rc.4) (2025-02-17) ### 👷 CI * Update release workflow to handle macOS builds separately ([d242dce](d242dce)) * Update release workflow to include ubuntu-22.04-arm64 in self-hosted jobs ([74429be](74429be))
🎉 This PR is included in version 0.1.4-rc.4 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Just to trigger a release candidate change, will bring it back later. Signed-off-by: Eden Reich <[email protected]>
## [0.1.4-rc.5](0.1.4-rc.4...0.1.4-rc.5) (2025-02-17) ### 👷 CI * Comment out Build and Push Rust Container job in release workflow ([8e8af76](8e8af76))
🎉 This PR is included in version 0.1.4-rc.5 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
…nd comment it out Signed-off-by: Eden Reich <[email protected]>
…iner job Signed-off-by: Eden Reich <[email protected]>
…ed job name Signed-off-by: Eden Reich <[email protected]>
It's no longer needed since it's built natively, no need emulator. Signed-off-by: Eden Reich <[email protected]>
… speed things up Signed-off-by: Eden Reich <[email protected]>
## [0.1.4-rc.6](0.1.4-rc.5...0.1.4-rc.6) (2025-02-17) ### 👷 CI * Comment out QEMU setup step in release workflow ([4a09c1a](4a09c1a)) * Comment out temporarily build_binaries job in release workflow to speed things up ([4d00ad3](4d00ad3)) * Remove conditional check for minimal variant in B&P Minimal Container job ([ca6f85f](ca6f85f)) * Rename build_container job to build_containers and update commented job name ([1bdf885](1bdf885)) * Split language specific containers with tools to a separate job and comment it out ([fd20e5b](fd20e5b))
Signed-off-by: Eden Reich <[email protected]>
…ofile settings Signed-off-by: Eden Reich <[email protected]>
…the local cache Have to figure out why it's not saving to the local cache directory. Signed-off-by: Eden Reich <[email protected]>
…ements like execution time etc Signed-off-by: Eden Reich <[email protected]>
… improved performance, I think it's default behaviour but I'm not entirely sure Just for safety specify the number of cores available for the build. Signed-off-by: Eden Reich <[email protected]>
… compressed caching and snapshot mode Signed-off-by: Eden Reich <[email protected]>
Signed-off-by: Eden Reich <[email protected]>
Signed-off-by: Eden Reich <[email protected]>
Signed-off-by: Eden Reich <[email protected]>
Signed-off-by: Eden Reich <[email protected]>
…e --no-cache is already in use Signed-off-by: Eden Reich <[email protected]>
…ocess Signed-off-by: Eden Reich <[email protected]>
…performance Also copy only the directories that are needed. Signed-off-by: Eden Reich <[email protected]>
OMG, this is so unexpected, but that RUN mkdir /app before WORKDIR is the issue with kaniko why the cache is being hit. Super strange!!! Signed-off-by: Eden Reich <[email protected]>
## [0.1.4-rc.35](0.1.4-rc.34...0.1.4-rc.35) (2025-02-26) ### ⚡️ Improvements * Add release task for local Docker container execution so I can test the release ([8a00250](8a00250)) ### 🔧 Miscellaneous * Update dependencies to latest versions and optimize release profile settings ([97b7009](97b7009)) ### 📦 Miscellaneous * Add missing flags, not sure yet why kaniko is not saving into the local cache ([cca01e2](cca01e2)) * Attempt to fix caching ([572d0f9](572d0f9)) * Create /app directory in Dockerfile for application workspace ([82d6449](82d6449)) * Enhance caching strategy in release workflow and Taskfile with compressed caching and snapshot mode ([59857fd](59857fd)) * Import TARGET_ARCH argument to the chef layer in the Dockerfile ([24463ec](24463ec)) * Increase verbosity of cargo build command in Dockerfile ([dcd030c](dcd030c)) * Install Dive to better analyse caching layers ([a19249c](a19249c)) * Optimize cargo build command to utilize all available jobs for improved performance, I think it's default behaviour but I'm not entirely sure ([fd4f9f4](fd4f9f4)) * Optimize Dockerfile by adding cache mounts for improved build performance ([22d8196](22d8196)) * Remove redundant cache cleanup commands from Dockerfile because --no-cache is already in use ([f05cd51](f05cd51)) * Remove unnecessary target-specific rustflags for aarch64 ([dd3bc44](dd3bc44)) * Update Kaniko context to local directory for improved build process ([e447ca3](e447ca3)) * Update Zsh configuration to include additional right prompt elements like execution time etc ([bceb4b4](bceb4b4))
🎉 This PR is included in version 0.1.4-rc.35 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
This package is very slow, so it's better to make it for now optional feature. Perhaps I can improve the speed of compilation with a pre-generated completion only for zsh and bash stored in text format on the SCM and then pull it once the user executes the completion they need. But for now I'll just make this as an optional feature to speed things up, because completion is not a critical feature. After investigating the issue it seems like it takes really long to compile due to intensive macros and codegen in this repo and they do not make it as an optional feature to choose from what completion is needed for what shell, i.e you have to include everything - which is bad. Signed-off-by: Eden Reich <[email protected]>
Signed-off-by: Eden Reich <[email protected]>
## [0.1.4-rc.36](0.1.4-rc.35...0.1.4-rc.36) (2025-02-26) ### 📦 Miscellaneous * Add optional shell completions feature using clap_complete ([0fcaca0](0fcaca0)) * Update uuid dependency to version 1.15.0 ([5d61147](5d61147))
🎉 This PR is included in version 0.1.4-rc.36 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Signed-off-by: Eden Reich <[email protected]>
…- it revalidating the cache on each run Signed-off-by: Eden Reich <[email protected]>
Those are only valid for buildx, not needed for kaniko. Signed-off-by: Eden Reich <[email protected]>
…iner build process Signed-off-by: Eden Reich <[email protected]>
Signed-off-by: Eden Reich <[email protected]>
Until I buy raspberry pi 5 the cores for compiling of the A72 cortex is pretty much limited in speed. Signed-off-by: Eden Reich <[email protected]>
Signed-off-by: Eden Reich <[email protected]>
## [0.1.4-rc.37](0.1.4-rc.36...0.1.4-rc.37) (2025-02-26) ### 📦 Miscellaneous * Add workflow step to sign container images with GitHub OIDC ([a8f6296](a8f6296)) * Import CommandFactory for optional completions feature ([05ce42a](05ce42a)) * Increase timeout for B&P Containers job in release workflow ([bbee100](bbee100)) * Remove unnecessary image creation label from release workflow - it revalidating the cache on each run ([3abdba0](3abdba0)) * Simplify Dockerfile by removing cache mounts from cargo commands ([72a5c91](72a5c91)) * Update release workflow and Taskfile for improved cached container build process ([c78b91c](c78b91c)) * Use consistent style ([f0aa8e8](f0aa8e8))
🎉 This PR is included in version 0.1.4-rc.37 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Signed-off-by: Eden Reich <[email protected]>
Summary