Skip to content

Commit

Permalink
stash build helpers
Browse files Browse the repository at this point in the history
  • Loading branch information
sumgarg committed Jan 17, 2025
1 parent 18eefa5 commit e891c10
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 2 deletions.
8 changes: 6 additions & 2 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -80,20 +80,24 @@ do_build()
fi

local _dockerfile_stage="binary"
for _dockerfile_stage in golang source build binary
do
local _target_image="telegraf/${_dockerfile_stage}/${_target_arch}:$(git describe --dirty)"
docker buildx build --progress plain \
docker-buildx build --progress plain \
--build-arg BUILD_GO_FIPS="${_go_fips}" \
--build-arg BUILD_GO_OPTS="${_go_opts}" \
--platform "linux/${_container_arch}" \
--tag "${_target_image}" \
--target "${_dockerfile_stage}" \
.
done

local _copy_container="$(docker container create --quiet "${_target_image}")"
docker container cp "${_copy_container}:/usr/bin/telegraf" telegraf
docker container rm "${_copy_container}"

docker image rm "${_target_image}"
# docker image rm "${_target_image}"
cat telegraf > "arts/telegraf.${_target_arch}"

tar -cf "${_target_tarball}" telegraf MIT generic_MIT
rm -f telegraf
Expand Down
62 changes: 62 additions & 0 deletions z.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
#!/usr/bin/env bash

function docker_prune()
{
colima delete --force
rm -rf ~/.colima ~/.docker

colima start --dns 1.1.1.1 --dns 8.8.8.8 --runtime docker --cpu 6 --vm-type vz --vz-rosetta
docker run --privileged --rm tonistiigi/binfmt --install linux/arm
docker run --privileged --rm tonistiigi/binfmt --install linux/mips64le
docker image rm tonistiigi/binfmt

exit
}

function pre()
{
rm -rf arts/*
}

function main()
{
rm -f result?.log
tmux new-window -d -k -t 3 -n "build" \
'
./build.sh mips build |& tee -a result3.log ;
./build.sh arm64 build |& tee -a result3.log ;
'
tmux new-window -d -k -t 4 -n "build" \
'
./build.sh x86_64 build |& tee -a result4.log
./build.sh arm build |& tee -a result4.log
'
}

function post()
{
local _i _q
for (( _i = 0 ; _i < 10 ; _i++ )); do
docker image ls | sort
if [[ "$(docker image ls | grep "^telegraf" | wc -l)" -ge 100 ]]; then
break
fi
tmux select-window -t 3 ; sleep 25
tmux select-window -t 4 ; sleep 25
tmux select-window -t 2
read -e -t 10 -p "Stop [y/N]: " _q
if [[ "${_q}" == "y" ]]; then
break
fi
done

cd arts
file telegraf.* > o
cd ..
diff old/o arts/
}

pre
[[ ${#} -eq 0 ]] || docker_prune
main
post

0 comments on commit e891c10

Please sign in to comment.