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

fix: absurdly long build times #16

Closed
xynydev opened this issue Feb 18, 2024 · 7 comments
Closed

fix: absurdly long build times #16

xynydev opened this issue Feb 18, 2024 · 7 comments
Assignees
Labels
type: fix Iterations on existing features or infrastructure.

Comments

@xynydev
Copy link
Member

xynydev commented Feb 18, 2024

My build times before using BlueBuild cli: ~6min
My build times after using BlueBuild cli: ~6min
My build times after the switch to running the build in podman: ~12-16min

A good chunk of this time is spent on removing unwanted software. Maybe making this step optional, controlled by an input, would be beneficial.

Some time is spent installing podman and pulling the container, but this doesn't seem excessive when looking back at the logs. Maybe that's just what pushed my buildd over the 10 minutes.

@gerblesh
Copy link
Contributor

running buildah in podman definitely slows things down. I'd take a look at 7145d29 though, you can try out the current changes along with keyless signing using the testing branch

@xynydev xynydev self-assigned this Feb 22, 2024
@xynydev
Copy link
Member Author

xynydev commented Feb 22, 2024

I'll add an input for turning the unwanted software removal on and off to see if that helps.

xynydev added a commit that referenced this issue Feb 22, 2024
Reasoning: many users don't need this, but it takes kind of a long time. #16
xynydev added a commit that referenced this issue Feb 23, 2024
* feat: make maximizing build space optional

Reasoning: many users don't need this, but it takes kind of a long time. #16

* fix: use singlequotes for strings

* docs: use singlequotes in description
@xynydev
Copy link
Member Author

xynydev commented Feb 23, 2024

I tried to re-implement the changes in the testing branch without changing the cli version in containerd-volume-mount, but it didn't make the builds much faster (like 20 seconds, which is less than the standard deviation). I changed the cli version to basically mimic the testing branch and the fonts module issue came up again.

I think I figured out the reason: blue-build/cli@411e782
The fonts module uses | tr -d '\n' to remove the newline. Disabling that would break the builds for legacy template users, though. One thing I don't understand is that if the var doesn't have a newline, how come trying to remove it breaks things. Maybe this issue happens earlier, when the array is being passed to the font download script... The fonts module is due a refactor anyways, so let me just make an issue for that...

@xynydev
Copy link
Member Author

xynydev commented Feb 25, 2024

Since the issue that the testing branch had is solved, I deleted my containerd-volume-mount branch and will update to the next cli release with a PR built on the testing branch. Then I'll delete the branch per #17. Feel free to come fight over there.

@xynydev
Copy link
Member Author

xynydev commented Feb 25, 2024

Switching to docker for builds could be a solution, as there is an up-to-date ppa available: https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository

This would need support in cli.

@tulilirockz
Copy link

worst case you guys can use the nix docker build to run those in github runners

@xynydev xynydev added the type: fix Iterations on existing features or infrastructure. label Mar 8, 2024
xynydev pushed a commit that referenced this issue Mar 12, 2024
* feat: use docker build from `testing` branch

changes were made in the `testing` branch however the main branch hasn't been updated with docker builds. This PR includes the changes to build with docker and use a cache into the `main` version of the action

* fix: add use_cache input

* docs: document "Expose Github Runtime"

* fix: add cosign installer

* Update action.yml

Co-authored-by: Gerald Pinder <gmpinder@gmail.com>

* Update action.yml

Co-authored-by: Gerald Pinder <gmpinder@gmail.com>

* Update action.yml

Co-authored-by: Gerald Pinder <gmpinder@gmail.com>

* Update action.yml

Co-authored-by: Gerald Pinder <gmpinder@gmail.com>

* Update action.yml

Co-authored-by: Gerald Pinder <gmpinder@gmail.com>

* Make final changes

* Go back to using the docker way of installing

---------

Co-authored-by: Gerald Pinder <gmpinder@gmail.com>
@xynydev
Copy link
Member Author

xynydev commented Mar 16, 2024

Latest release should've basically fixed this.

@xynydev xynydev closed this as completed Mar 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: fix Iterations on existing features or infrastructure.
Projects
None yet
Development

No branches or pull requests

3 participants