-
Notifications
You must be signed in to change notification settings - Fork 33
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
ci: workflow to publish prebuilt ld and binutils #68
Conversation
b2295f7
to
2712e73
Compare
This comment was marked as outdated.
This comment was marked as outdated.
045b12a
to
ec2a701
Compare
ec2a701
to
3081f20
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.
I'll try to split up all the ld
targets to separate Dockerfile inside a subdirectory. Then we can make this workflow so that it runs only if files inside the subdirectory change. If it is simple, we can also set up some bot that would allow to trigger the additional CI on-demand.
For the release, we do not need to release this very often. It shouldn't be on every master branch change. The method we use in binfmt
is quite nice to trigger it from manual form and then also create a tag for the deployment.
Note that releasing new binaries does not change xx
. The digests need to be updated manually later on. If this isn't implemented already the release should generate a file with all the digests so it can be easily copied to the scripts (or we could keep it in a separate file as well and modify script to link it).
docker-bake.hcl
Outdated
output = ["./ld64-tgz"] | ||
} | ||
|
||
target "ld64-linux-amd64-tgz" { |
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.
Why do we need these separate targets in here. ld64-tgz
already builds all combinations.
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.
It's to reduce build time so we can distribute builds across multi runners in the pipeline, see: https://github.com/crazy-max/xx/actions/runs/4155296585
Yes indeed, I have another branch that would update shas and open a pull request with new sums: master...crazy-max:xx:binutils-2.38#diff-ee26bbfc163346b915c6c9c65709c15b58251a23a0d9ecaaed6d2d20f969fb92R96-R148 |
Agree, will change this. |
645de7b
to
2bcfb1c
Compare
Updated, see PR description |
1df70ec
to
929012d
Compare
3b26f89
to
489e092
Compare
489e092
to
c573d5c
Compare
rebased and needs #114 |
908178b
to
ff863e6
Compare
Signed-off-by: CrazyMax <[email protected]>
Signed-off-by: CrazyMax <[email protected]>
Signed-off-by: CrazyMax <[email protected]>
Signed-off-by: CrazyMax <[email protected]>
Signed-off-by: CrazyMax <[email protected]>
Signed-off-by: CrazyMax <[email protected]>
Signed-off-by: CrazyMax <[email protected]>
Signed-off-by: CrazyMax <[email protected]>
ff863e6
to
ad4fc92
Compare
needs #114
Adds workflows to publish prebuilt ld and binutils using a dynamic matrix based on grouped bake targets to distribute the workload over several runners.
It will only build on push on master. To create a new release the workflow needs to be triggered manually:
Git tag will be in the form:
binutils/2.36.1-5
(where 5 is the run number for the workflow ; unique)prebuilt/ld-2.36.1-8
(where 8 is the run number for the workflow ; unique)Test prebuilt ld:
base/xx-ld-shas
crazy-max/xx#1Test binutils: