-
Notifications
You must be signed in to change notification settings - Fork 30
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
Build not only x64 #73
Conversation
|
@julianbrost Can we split the Intel/ARM builds like this, docker push and.. everything will land together on DH? |
I don't know, I also used buildx for the first time this week. But I hope that should be possible. Also, why drop ccache? Should be quite easy to use now and would be very helpful for local builds: https://github.com/moby/buildkit/blob/master/frontend/dockerfile/docs/syntax.md#run---mounttypecache |
|
If you'd have the infrastructure for it, yes. What I'm currently playing around with won't allow you to run privileged containers in the end, so that won't work here. |
aca0015
to
24e7c1c
Compare
0fe9d17
to
c2a1ef2
Compare
In the meantime, I also learned this. I feel like I should also have mentioned this before somewhere.
If we want ARM support, I'd say that's the way to go. Also, the build time of just over 2h for all 3 architectures sounds quite acceptable (especially when compared to the over 4h for Raspbian packages). |
c2a1ef2
to
7e0c228
Compare
refs #27
to have it on all platforms.
|
In short, I completely re-designed this. I'd checkout the tree and look top-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.
the GHA-GHA test this GHA's build.bash, with all of course
I don't understand what this is trying to say.
Dockerfile does the compiling, so no ccache
That's no longer a limitation when building directly from a Dockerfile
: https://docs.docker.com/engine/reference/builder/#run---mounttypecache
Also, this is somewhat important for my development workflow.
for the sake of grep TODO.
Actually it's just this change: https://github.com/Icinga/docker-icinga2/pull/73/files#diff-5c3fa597431eda03ac3339ae6bf7f05e1a50d6fc7333679ec38e21b337cb6721R27
We can't just hardcode absolute paths there, can we? |
The hardcoded paths are inside the container, so yes we can. If I understand it correctly, that cache won't be shared with the build host but rather just between container builds. But that's fine, compiler and system headers probably won't match exactly between host and container (unless you run the exact same version of Debian). |
a27257c
to
cea2e2b
Compare
mktags.bash
Outdated
|
||
cat <<<"FROM icinga/icinga2:${BASH_REMATCH[1]}" >Dockerfile | ||
|
||
"${BUILDX[@]}" -t "icinga/icinga2:${BASH_REMATCH[2]}" . |
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.
If I've parsed the use of BASH_REMATCH
correctly, this will unconditionally update the icinga/icinga2:2.x.y
tag? I'd also check if there's a newer version here, just to make this safe against rerunning the pipeline for an older release.
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.
We can re-run pipelines for older releases?
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.
Good question. I thought these workflows generally have a re-run button, but the one I checked didn't, but also I think they disappear after some time. So I can't say for sure.
f90c069
to
f64e623
Compare
f64e623
to
e51bb3b
Compare
e51bb3b
to
2a225c5
Compare
mktags test
|
fixes #27