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

Build images in GitHub Actions #3

Merged
merged 2 commits into from
May 26, 2020
Merged

Build images in GitHub Actions #3

merged 2 commits into from
May 26, 2020

Conversation

errordeveloper
Copy link
Contributor

@errordeveloper errordeveloper commented May 21, 2020

Features:

  • portable outside of GitHub Actions
  • automatic tagging based on git tree hashes
    • tag is scope to a version of an image sub-dir, so when files are changed new image will be built with a new tag
    • rebuild only when tags is not present in the registry, with an option to force
  • cross-compile for arm64
  • use buildx to create proper multiarch images
  • use digests from all FROM statements
  • avoid using docker login, which is insecure as it stores a token in plain text
  • lint Dockerfiles and shell script to detect issues early

Follow-up features (will file issues):

@errordeveloper
Copy link
Contributor Author

errordeveloper commented May 21, 2020

PR TODOs

  • add iproute2
  • git rm -f Dockerfile.*
  • push to quay as well - push to quay.io as well as docker.io #11
  • manually validate resulting images for both architectures
  • switch to Cilium registries
  • open issues for follow-up items

@errordeveloper

This comment has been minimized.

@errordeveloper
Copy link
Contributor Author

errordeveloper commented May 21, 2020

I have validated all 3 images like this:

$ cat Dockerfile.test                                                                                                                                                                           
FROM docker.io/errordeveloper/bpftool:63afacae57dcc022cf7d0c314a7201f3ef1acceb as bpftool-dist
FROM docker.io/errordeveloper/iproute2:ac9c5ba3c7c0d5127c4d129bd118a37aecfe7161 as iproute2-dist
FROM docker.io/errordeveloper/llvm:8a427a6fe8223bef17489703e6aabdb7401744db as llvm-dist

FROM ubuntu:20.04
RUN apt-get update && apt-get install -y libelf1 file libc-bin

COPY --from=bpftool-dist /bin/bpftool /bin/bpftool
RUN file /bin/bpftool
RUN ldd /bin/bpftool
RUN /bin/bpftool version

COPY --from=iproute2-dist /bin/ip /bin/tc /bin/
RUN file /bin/ip
RUN ldd /bin/ip
RUN /bin/ip -V
RUN file /bin/tc
RUN ldd /bin/tc
RUN /bin/tc -V

COPY --from=llvm-dist /bin/llc /bin/clang /bin/
RUN file /bin/llc
RUN ldd /bin/llc
RUN /bin/llc --version
RUN file /bin/clang
RUN ldd /bin/clang
RUN /bin/clang --version
$ cat Dockerfile.test | docker buildx build - --platform linux/amd64,linux/arm64 --builder gallant_mahavira --no-cache --progress=plain                                                         
WARN[0000] No output specified for docker-container driver. Build result will only remain in the build cache. To push result image into registry use --push or to load image into docker use --load 
#1 [internal] load .dockerignore
#1 transferring context: 2B done
#1 DONE 0.0s

#2 [internal] load build definition from Dockerfile
#2 transferring dockerfile: 838B done
#2 DONE 0.0s

#10 [linux/amd64 internal] load metadata for docker.io/errordeveloper/llvm:8...
#10 ...

#6 [linux/arm64 internal] load metadata for docker.io/errordeveloper/llvm:8...
#6 DONE 1.8s

#10 [linux/amd64 internal] load metadata for docker.io/errordeveloper/llvm:8...
#10 DONE 1.8s

#9 [linux/amd64 internal] load metadata for docker.io/errordeveloper/iprout...
#9 ...

#8 [linux/amd64 internal] load metadata for docker.io/errordeveloper/bpftoo...
#8 DONE 2.2s

#3 [linux/arm64 internal] load metadata for docker.io/library/ubuntu:20.04
#3 DONE 2.3s

#5 [linux/amd64 internal] load metadata for docker.io/library/ubuntu:20.04
#5 DONE 2.3s

#7 [linux/arm64 internal] load metadata for docker.io/errordeveloper/bpftoo...
#7 DONE 2.9s

#4 [linux/arm64 internal] load metadata for docker.io/errordeveloper/iprout...
#4 ...

#9 [linux/amd64 internal] load metadata for docker.io/errordeveloper/iprout...
#9 DONE 5.3s

#4 [linux/arm64 internal] load metadata for docker.io/errordeveloper/iprout...
#4 DONE 6.7s

#26 [linux/amd64 llvm-dist 1/1] FROM docker.io/errordeveloper/llvm:8a427a6fe...
#26 resolve docker.io/errordeveloper/llvm:8a427a6fe8223bef17489703e6aabdb7401744db@sha256:0f65de60465d1ec4fa23fc2ff164632355f730b80691788844fce458002763ac done
#26 DONE 0.0s

#13 [linux/amd64 bpftool-dist 1/1] FROM docker.io/errordeveloper/bpftool:63a...
#13 resolve docker.io/errordeveloper/bpftool:63afacae57dcc022cf7d0c314a7201f3ef1acceb@sha256:edf1b6bce3ef1a49077be3ab873c9e9e42b576a7dfc39813c7b35ad1da8e0edd done
#13 DONE 0.0s

#11 [linux/amd64 stage-3  1/20] FROM docker.io/library/ubuntu:20.04@sha256:8...
#11 resolve docker.io/library/ubuntu:20.04@sha256:8bce67040cd0ae39e0beb55bcb976a824d9966d2ac8d2e4bf6119b45505cee64 done
#11 DONE 0.0s

#49 [linux/arm64 llvm-dist 1/1] FROM docker.io/errordeveloper/llvm:8a427a6fe...
#49 resolve docker.io/errordeveloper/llvm:8a427a6fe8223bef17489703e6aabdb7401744db@sha256:0f65de60465d1ec4fa23fc2ff164632355f730b80691788844fce458002763ac done
#49 DONE 0.0s

#18 [linux/amd64 iproute2-dist 1/1] FROM docker.io/errordeveloper/iproute2:a...
#18 resolve docker.io/errordeveloper/iproute2:ac9c5ba3c7c0d5127c4d129bd118a37aecfe7161@sha256:0513f8f22682a09811bab82dca460eee452a84b5ef621a5e2a673633ad6b0f87 done
#18 ...

#13 [linux/amd64 bpftool-dist 1/1] FROM docker.io/errordeveloper/bpftool:63a...
#13 CACHED

#11 [linux/amd64 stage-3  1/20] FROM docker.io/library/ubuntu:20.04@sha256:8...
#11 CACHED

#26 [linux/amd64 llvm-dist 1/1] FROM docker.io/errordeveloper/llvm:8a427a6fe...
#26 CACHED

#36 [linux/arm64 bpftool-dist 1/1] FROM docker.io/errordeveloper/bpftool:63a...
#36 resolve docker.io/errordeveloper/bpftool:63afacae57dcc022cf7d0c314a7201f3ef1acceb@sha256:edf1b6bce3ef1a49077be3ab873c9e9e42b576a7dfc39813c7b35ad1da8e0edd done
#36 CACHED

#49 [linux/arm64 llvm-dist 1/1] FROM docker.io/errordeveloper/llvm:8a427a6fe...
#49 CACHED

#34 [linux/arm64 stage-3  1/20] FROM docker.io/library/ubuntu:20.04@sha256:8...
#34 resolve docker.io/library/ubuntu:20.04@sha256:8bce67040cd0ae39e0beb55bcb976a824d9966d2ac8d2e4bf6119b45505cee64 done
#34 CACHED

#18 [linux/amd64 iproute2-dist 1/1] FROM docker.io/errordeveloper/iproute2:a...
#18 sha256:0513f8f22682a09811bab82dca460eee452a84b5ef621a5e2a673633ad6b0f87 741B / 741B done
#18 sha256:1db4d95799ed000b63ccb77aad2169e6d10f8954a5e772196f797c78f70601c2 520B / 520B done
#18 sha256:667ae3533a19641a1b32d5cafbe452ac90f6bb38cffa200ab589fef4db74b14d 0B / 486.84kB 0.1s
#18 sha256:cc67f568d90e115a1ca499535bb2d35f10dbcbb0db8c4c2874f8cb40b37f74ed 794B / 794B done
#18 ...

#12 [linux/amd64 stage-3  2/20] RUN apt-get update && apt-get install -y lib...
#12 0.184 Get:1 http://archive.ubuntu.com/ubuntu focal InRelease [265 kB]
#12 0.289 Get:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease [107 kB]
#12 0.322 Get:3 http://archive.ubuntu.com/ubuntu focal-backports InRelease [98.3 kB]
#12 0.330 Get:4 http://security.ubuntu.com/ubuntu focal-security InRelease [107 kB]
#12 0.408 Get:5 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages [1275 kB]
#12 0.533 Get:6 http://archive.ubuntu.com/ubuntu focal/multiverse amd64 Packages [177 kB]
#12 0.540 Get:7 http://archive.ubuntu.com/ubuntu focal/restricted amd64 Packages [33.4 kB]
#12 0.542 Get:8 http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages [11.3 MB]
#12 0.846 Get:9 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [87.8 kB]
#12 1.009 Get:10 http://archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 Packages [1079 B]
#12 1.009 Get:11 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [152 kB]
#12 1.012 Get:12 http://archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages [8685 B]
#12 1.013 Get:13 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [83.9 kB]
#12 1.016 Get:14 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 Packages [1079 B]
#12 1.016 Get:15 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [33.3 kB]
#12 1.023 Get:16 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [8685 B]
#12 1.032 Get:17 http://archive.ubuntu.com/ubuntu focal-backports/universe amd64 Packages [2903 B]
#12 1.592 Fetched 13.8 MB in 1s (9471 kB/s)
#12 1.592 Reading package lists...
#12 2.258 Reading package lists...
#12 2.904 Building dependency tree...
#12 3.051 Reading state information...
#12 3.206 libc-bin is already the newest version (2.31-0ubuntu9).
#12 3.206 The following additional packages will be installed:
#12 3.207   libmagic-mgc libmagic1
#12 3.234 The following NEW packages will be installed:
#12 3.234   file libelf1 libmagic-mgc libmagic1
#12 3.293 0 upgraded, 4 newly installed, 0 to remove and 2 not upgraded.
#12 3.293 Need to get 361 kB of archives.
#12 3.293 After this operation, 6362 kB of additional disk space will be used.
#12 3.293 Get:1 http://archive.ubuntu.com/ubuntu focal/main amd64 libmagic-mgc amd64 1:5.38-4 [218 kB]
#12 3.430 Get:2 http://archive.ubuntu.com/ubuntu focal/main amd64 libmagic1 amd64 1:5.38-4 [75.9 kB]
#12 3.438 Get:3 http://archive.ubuntu.com/ubuntu focal/main amd64 file amd64 1:5.38-4 [23.3 kB]
#12 3.439 Get:4 http://archive.ubuntu.com/ubuntu focal/main amd64 libelf1 amd64 0.176-1.1build1 [44.0 kB]
#12 3.541 debconf: delaying package configuration, since apt-utils is not installed
#12 3.561 Fetched 361 kB in 0s (1817 kB/s)
#12 3.580 Selecting previously unselected package libmagic-mgc.
(Reading database ... 4122 files and directories currently installed.)
#12 3.591 Preparing to unpack .../libmagic-mgc_1%3a5.38-4_amd64.deb ...
#12 3.593 Unpacking libmagic-mgc (1:5.38-4) ...
#12 3.645 Selecting previously unselected package libmagic1:amd64.
#12 3.646 Preparing to unpack .../libmagic1_1%3a5.38-4_amd64.deb ...
#12 3.650 Unpacking libmagic1:amd64 (1:5.38-4) ...
#12 3.676 Selecting previously unselected package file.
#12 3.677 Preparing to unpack .../file_1%3a5.38-4_amd64.deb ...
#12 3.680 Unpacking file (1:5.38-4) ...
#12 3.701 Selecting previously unselected package libelf1:amd64.
#12 3.702 Preparing to unpack .../libelf1_0.176-1.1build1_amd64.deb ...
#12 3.706 Unpacking libelf1:amd64 (0.176-1.1build1) ...
#12 3.732 Setting up libmagic-mgc (1:5.38-4) ...
#12 3.738 Setting up libmagic1:amd64 (1:5.38-4) ...
#12 3.746 Setting up file (1:5.38-4) ...
#12 3.752 Setting up libelf1:amd64 (0.176-1.1build1) ...
#12 3.758 Processing triggers for libc-bin (2.31-0ubuntu9) ...
#12 DONE 3.9s

#18 [linux/amd64 iproute2-dist 1/1] FROM docker.io/errordeveloper/iproute2:a...
#18 sha256:667ae3533a19641a1b32d5cafbe452ac90f6bb38cffa200ab589fef4db74b14d 486.84kB / 486.84kB 2.0s done
#18 unpacking docker.io/errordeveloper/iproute2:ac9c5ba3c7c0d5127c4d129bd118a37aecfe7161@sha256:0513f8f22682a09811bab82dca460eee452a84b5ef621a5e2a673633ad6b0f87
#18 unpacking docker.io/errordeveloper/iproute2:ac9c5ba3c7c0d5127c4d129bd118a37aecfe7161@sha256:0513f8f22682a09811bab82dca460eee452a84b5ef621a5e2a673633ad6b0f87 0.1s done
#18 DONE 3.9s

#14 [linux/amd64 stage-3  3/20] COPY --from=bpftool-dist /bin/bpftool /bin/b...
#14 DONE 0.0s

#41 [linux/arm64 iproute2-dist 1/1] FROM docker.io/errordeveloper/iproute2:a...
#41 resolve docker.io/errordeveloper/iproute2:ac9c5ba3c7c0d5127c4d129bd118a37aecfe7161@sha256:0513f8f22682a09811bab82dca460eee452a84b5ef621a5e2a673633ad6b0f87 done
#41 sha256:0513f8f22682a09811bab82dca460eee452a84b5ef621a5e2a673633ad6b0f87 741B / 741B done
#41 sha256:914780843aca837f156fdcfc5beae5e485003b451d67adef8b9ee1d79db1e531 520B / 520B done
#41 sha256:4a14e5a0ef25170c8abd128e1f4aa600965feca19fb0211fbba12e279c305ce5 498.86kB / 498.86kB 2.0s done
#41 sha256:ab2c27a175a97b688b43e8a909558c9f01220f8987fa2feec8202dc42f359183 794B / 794B done
#41 unpacking docker.io/errordeveloper/iproute2:ac9c5ba3c7c0d5127c4d129bd118a37aecfe7161@sha256:0513f8f22682a09811bab82dca460eee452a84b5ef621a5e2a673633ad6b0f87 0.0s done
#41 DONE 3.9s

#15 [linux/amd64 stage-3  4/20] RUN file /bin/bpftool
#15 0.090 /bin/bpftool: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=266ff2f956b10148cd2b5a5436cd675646c95d7c, for GNU/Linux 3.2.0, stripped
#15 DONE 0.1s

#16 [linux/amd64 stage-3  5/20] RUN ldd /bin/bpftool
#16 0.093 	linux-vdso.so.1 (0x00007ffc06aa5000)
#16 0.093 	libelf.so.1 => /lib/x86_64-linux-gnu/libelf.so.1 (0x00007fa1f57d2000)
#16 0.093 	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fa1f57b6000)
#16 0.093 	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa1f55c4000)
#16 0.093 	/lib64/ld-linux-x86-64.so.2 (0x00007fa1f59d7000)
#16 DONE 0.1s

#17 [linux/amd64 stage-3  6/20] RUN /bin/bpftool version
#17 0.092 /bin/bpftool v5.7.0-rc2
#17 DONE 0.1s

#19 [linux/amd64 stage-3  7/20] COPY --from=iproute2-dist /bin/ip /bin/tc /b...
#19 DONE 0.1s

#35 [linux/arm64 stage-3  2/20] RUN apt-get update && apt-get install -y lib...
#35 0.516 Get:1 http://ports.ubuntu.com/ubuntu-ports focal InRelease [265 kB]
#35 0.746 Get:2 http://ports.ubuntu.com/ubuntu-ports focal-updates InRelease [107 kB]
#35 0.747 Get:3 http://ports.ubuntu.com/ubuntu-ports focal-backports InRelease [98.3 kB]
#35 0.789 Get:4 http://ports.ubuntu.com/ubuntu-ports focal-security InRelease [107 kB]
#35 2.490 Get:5 http://ports.ubuntu.com/ubuntu-ports focal/multiverse arm64 Packages [139 kB]
#35 2.683 Get:6 http://ports.ubuntu.com/ubuntu-ports focal/main arm64 Packages [1234 kB]
#35 2.922 Get:7 http://ports.ubuntu.com/ubuntu-ports focal/universe arm64 Packages [11.1 MB]
#35 3.787 Get:8 http://ports.ubuntu.com/ubuntu-ports focal/restricted arm64 Packages [1317 B]
#35 4.254 Get:9 http://ports.ubuntu.com/ubuntu-ports focal-updates/main arm64 Packages [133 kB]
#35 4.283 Get:10 http://ports.ubuntu.com/ubuntu-ports focal-updates/universe arm64 Packages [82.4 kB]
#35 ...

#20 [linux/amd64 stage-3  8/20] RUN file /bin/ip
#20 0.085 /bin/ip: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9e934afc463975e2bbad2196460765ce84020570, for GNU/Linux 3.2.0, stripped
#20 DONE 0.1s

#21 [linux/amd64 stage-3  9/20] RUN ldd /bin/ip
#21 0.096 	linux-vdso.so.1 (0x00007ffc777a1000)
#21 0.096 	libelf.so.1 => /lib/x86_64-linux-gnu/libelf.so.1 (0x00007fdb3a642000)
#21 0.096 	libmnl.so.0 => not found
#21 0.096 	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fdb3a63c000)
#21 0.096 	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fdb3a44a000)
#21 0.096 	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fdb3a42e000)
#21 0.096 	/lib64/ld-linux-x86-64.so.2 (0x00007fdb3a73d000)
#21 DONE 0.1s

#35 [linux/arm64 stage-3  2/20] RUN apt-get update && apt-get install -y lib...
#35 ...

#22 [linux/amd64 stage-3 10/20] RUN /bin/ip -V
#22 0.076 /bin/ip: error while loading shared libraries: libmnl.so.0: cannot open shared object file: No such file or directory
#22 ERROR: executor failed running [/bin/sh -c /bin/ip -V]: buildkit-runc did not terminate successfully

#35 [linux/arm64 stage-3  2/20] RUN apt-get update && apt-get install -y lib...
#35 CANCELED
------
 > [linux/amd64 stage-3 10/20] RUN /bin/ip -V:
------
failed to solve: rpc error: code = Unknown desc = executor failed running [/bin/sh -c /bin/ip -V]: buildkit-runc did not terminate successfully
 [1] >> nvim Dockerfile.test

zsh: suspended  nvim Dockerfile.test
 [146] >> nvim Dockerfile.test
 [1] >> fg
[1]  + continued  nvim Dockerfile.test
 [0] >> cat Dockerfile.test | docker buildx build - --platform linux/amd64,linux/arm64 --builder gallant_mahavira --no-cache --progress=plain
WARN[0000] No output specified for docker-container driver. Build result will only remain in the build cache. To push result image into registry use --push or to load image into docker use --load 
#1 [internal] load .dockerignore
#1 transferring context: 2B done
#1 DONE 0.0s

#2 [internal] load build definition from Dockerfile
#2 transferring dockerfile: 846B done
#2 DONE 0.0s

#10 [linux/amd64 internal] load metadata for docker.io/errordeveloper/llvm:8...
#10 ...

#4 [linux/amd64 internal] load metadata for docker.io/library/ubuntu:20.04
#4 DONE 1.8s

#3 [linux/arm64 internal] load metadata for docker.io/library/ubuntu:20.04
#3 DONE 1.8s

#5 [linux/arm64 internal] load metadata for docker.io/errordeveloper/llvm:8...
#5 DONE 1.9s

#9 [linux/arm64 internal] load metadata for docker.io/errordeveloper/bpftoo...
#9 DONE 2.0s

#8 [linux/amd64 internal] load metadata for docker.io/errordeveloper/iprout...
#8 DONE 2.0s

#6 [linux/arm64 internal] load metadata for docker.io/errordeveloper/iprout...
#6 DONE 2.0s

#7 [linux/amd64 internal] load metadata for docker.io/errordeveloper/bpftoo...
#7 DONE 2.0s

#10 [linux/amd64 internal] load metadata for docker.io/errordeveloper/llvm:8...
#10 DONE 2.1s

#18 [linux/arm64 iproute2-dist 1/1] FROM docker.io/errordeveloper/iproute2:a...
#18 resolve docker.io/errordeveloper/iproute2:ac9c5ba3c7c0d5127c4d129bd118a37aecfe7161@sha256:0513f8f22682a09811bab82dca460eee452a84b5ef621a5e2a673633ad6b0f87 done
#18 DONE 0.0s

#11 [linux/arm64 stage-3  1/20] FROM docker.io/library/ubuntu:20.04@sha256:8...
#11 resolve docker.io/library/ubuntu:20.04@sha256:8bce67040cd0ae39e0beb55bcb976a824d9966d2ac8d2e4bf6119b45505cee64 done
#11 DONE 0.0s

#13 [linux/arm64 bpftool-dist 1/1] FROM docker.io/errordeveloper/bpftool:63a...
#13 resolve docker.io/errordeveloper/bpftool:63afacae57dcc022cf7d0c314a7201f3ef1acceb@sha256:edf1b6bce3ef1a49077be3ab873c9e9e42b576a7dfc39813c7b35ad1da8e0edd done
#13 DONE 0.0s

#26 [linux/arm64 llvm-dist 1/1] FROM docker.io/errordeveloper/llvm:8a427a6fe...
#26 resolve docker.io/errordeveloper/llvm:8a427a6fe8223bef17489703e6aabdb7401744db@sha256:0f65de60465d1ec4fa23fc2ff164632355f730b80691788844fce458002763ac
#26 resolve docker.io/errordeveloper/llvm:8a427a6fe8223bef17489703e6aabdb7401744db@sha256:0f65de60465d1ec4fa23fc2ff164632355f730b80691788844fce458002763ac done
#26 CACHED

#13 [linux/arm64 bpftool-dist 1/1] FROM docker.io/errordeveloper/bpftool:63a...
#13 CACHED

#11 [linux/arm64 stage-3  1/20] FROM docker.io/library/ubuntu:20.04@sha256:8...
#11 CACHED

#18 [linux/arm64 iproute2-dist 1/1] FROM docker.io/errordeveloper/iproute2:a...
#18 CACHED

#34 [linux/amd64 stage-3  1/20] FROM docker.io/library/ubuntu:20.04@sha256:8...
#34 resolve docker.io/library/ubuntu:20.04@sha256:8bce67040cd0ae39e0beb55bcb976a824d9966d2ac8d2e4bf6119b45505cee64 done
#34 CACHED

#41 [linux/amd64 iproute2-dist 1/1] FROM docker.io/errordeveloper/iproute2:a...
#41 resolve docker.io/errordeveloper/iproute2:ac9c5ba3c7c0d5127c4d129bd118a37aecfe7161@sha256:0513f8f22682a09811bab82dca460eee452a84b5ef621a5e2a673633ad6b0f87 done
#41 CACHED

#36 [linux/amd64 bpftool-dist 1/1] FROM docker.io/errordeveloper/bpftool:63a...
#36 resolve docker.io/errordeveloper/bpftool:63afacae57dcc022cf7d0c314a7201f3ef1acceb@sha256:edf1b6bce3ef1a49077be3ab873c9e9e42b576a7dfc39813c7b35ad1da8e0edd done
#36 CACHED

#49 [linux/amd64 llvm-dist 1/1] FROM docker.io/errordeveloper/llvm:8a427a6fe...
#49 resolve docker.io/errordeveloper/llvm:8a427a6fe8223bef17489703e6aabdb7401744db@sha256:0f65de60465d1ec4fa23fc2ff164632355f730b80691788844fce458002763ac done
#49 CACHED

#35 [linux/amd64 stage-3  2/20] RUN apt-get update && apt-get install -y lib...
#35 0.180 Get:1 http://archive.ubuntu.com/ubuntu focal InRelease [265 kB]
#35 0.297 Get:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease [107 kB]
#35 0.315 Get:3 http://security.ubuntu.com/ubuntu focal-security InRelease [107 kB]
#35 0.328 Get:4 http://archive.ubuntu.com/ubuntu focal-backports InRelease [98.3 kB]
#35 0.400 Get:5 http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages [11.3 MB]
#35 0.825 Get:6 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [33.3 kB]
#35 0.921 Get:7 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages [1275 kB]
#35 0.948 Get:8 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 Packages [1079 B]
#35 0.948 Get:9 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [8685 B]
#35 0.949 Get:10 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [87.8 kB]
#35 0.987 Get:11 http://archive.ubuntu.com/ubuntu focal/restricted amd64 Packages [33.4 kB]
#35 0.989 Get:12 http://archive.ubuntu.com/ubuntu focal/multiverse amd64 Packages [177 kB]
#35 0.996 Get:13 http://archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 Packages [1079 B]
#35 0.997 Get:14 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [152 kB]
#35 1.004 Get:15 http://archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages [8685 B]
#35 1.004 Get:16 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [83.9 kB]
#35 1.009 Get:17 http://archive.ubuntu.com/ubuntu focal-backports/universe amd64 Packages [2903 B]
#35 1.558 Fetched 13.8 MB in 1s (9611 kB/s)
#35 1.558 Reading package lists...
#35 2.195 Reading package lists...
#35 2.786 Building dependency tree...
#35 2.920 Reading state information...
#35 3.051 libc-bin is already the newest version (2.31-0ubuntu9).
#35 3.051 The following additional packages will be installed:
#35 3.051   libmagic-mgc libmagic1
#35 3.074 The following NEW packages will be installed:
#35 3.075   file libelf1 libmagic-mgc libmagic1 libmnl0
#35 3.223 0 upgraded, 5 newly installed, 0 to remove and 2 not upgraded.
#35 3.223 Need to get 374 kB of archives.
#35 3.223 After this operation, 6405 kB of additional disk space will be used.
#35 3.223 Get:1 http://archive.ubuntu.com/ubuntu focal/main amd64 libmagic-mgc amd64 1:5.38-4 [218 kB]
#35 3.333 Get:2 http://archive.ubuntu.com/ubuntu focal/main amd64 libmagic1 amd64 1:5.38-4 [75.9 kB]
#35 3.342 Get:3 http://archive.ubuntu.com/ubuntu focal/main amd64 file amd64 1:5.38-4 [23.3 kB]
#35 3.343 Get:4 http://archive.ubuntu.com/ubuntu focal/main amd64 libelf1 amd64 0.176-1.1build1 [44.0 kB]
#35 3.365 Get:5 http://archive.ubuntu.com/ubuntu focal/main amd64 libmnl0 amd64 1.0.4-2 [12.3 kB]
#35 3.472 debconf: delaying package configuration, since apt-utils is not installed
#35 3.494 Fetched 374 kB in 0s (1311 kB/s)
#35 3.508 Selecting previously unselected package libmagic-mgc.
(Reading database ... 4122 files and directories currently installed.)
#35 3.516 Preparing to unpack .../libmagic-mgc_1%3a5.38-4_amd64.deb ...
#35 3.517 Unpacking libmagic-mgc (1:5.38-4) ...
#35 3.569 Selecting previously unselected package libmagic1:amd64.
#35 3.570 Preparing to unpack .../libmagic1_1%3a5.38-4_amd64.deb ...
#35 3.573 Unpacking libmagic1:amd64 (1:5.38-4) ...
#35 3.597 Selecting previously unselected package file.
#35 3.598 Preparing to unpack .../file_1%3a5.38-4_amd64.deb ...
#35 3.599 Unpacking file (1:5.38-4) ...
#35 3.619 Selecting previously unselected package libelf1:amd64.
#35 3.621 Preparing to unpack .../libelf1_0.176-1.1build1_amd64.deb ...
#35 3.623 Unpacking libelf1:amd64 (0.176-1.1build1) ...
#35 3.645 Selecting previously unselected package libmnl0:amd64.
#35 3.646 Preparing to unpack .../libmnl0_1.0.4-2_amd64.deb ...
#35 3.649 Unpacking libmnl0:amd64 (1.0.4-2) ...
#35 3.674 Setting up libmagic-mgc (1:5.38-4) ...
#35 3.680 Setting up libmagic1:amd64 (1:5.38-4) ...
#35 3.687 Setting up file (1:5.38-4) ...
#35 3.691 Setting up libmnl0:amd64 (1.0.4-2) ...
#35 3.695 Setting up libelf1:amd64 (0.176-1.1build1) ...
#35 3.699 Processing triggers for libc-bin (2.31-0ubuntu9) ...
#35 DONE 3.8s

#12 [linux/arm64 stage-3  2/20] RUN apt-get update && apt-get install -y lib...
#12 0.454 Get:1 http://ports.ubuntu.com/ubuntu-ports focal InRelease [265 kB]
#12 0.702 Get:2 http://ports.ubuntu.com/ubuntu-ports focal-updates InRelease [107 kB]
#12 0.737 Get:3 http://ports.ubuntu.com/ubuntu-ports focal-backports InRelease [98.3 kB]
#12 0.802 Get:4 http://ports.ubuntu.com/ubuntu-ports focal-security InRelease [107 kB]
#12 2.423 Get:5 http://ports.ubuntu.com/ubuntu-ports focal/multiverse arm64 Packages [139 kB]
#12 2.590 Get:6 http://ports.ubuntu.com/ubuntu-ports focal/main arm64 Packages [1234 kB]
#12 2.892 Get:7 http://ports.ubuntu.com/ubuntu-ports focal/restricted arm64 Packages [1317 B]
#12 2.894 Get:8 http://ports.ubuntu.com/ubuntu-ports focal/universe arm64 Packages [11.1 MB]
#12 ...

#37 [linux/amd64 stage-3  3/20] COPY --from=bpftool-dist /bin/bpftool /bin/b...
#37 DONE 0.0s

#38 [linux/amd64 stage-3  4/20] RUN file /bin/bpftool
#38 0.086 /bin/bpftool: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=266ff2f956b10148cd2b5a5436cd675646c95d7c, for GNU/Linux 3.2.0, stripped
#38 DONE 0.1s

#12 [linux/arm64 stage-3  2/20] RUN apt-get update && apt-get install -y lib...
#12 4.051 Get:9 http://ports.ubuntu.com/ubuntu-ports focal-updates/universe arm64 Packages [82.4 kB]
#12 ...

#39 [linux/amd64 stage-3  5/20] RUN ldd /bin/bpftool
#39 0.090 	linux-vdso.so.1 (0x00007fff0bde9000)
#39 0.090 	libelf.so.1 => /lib/x86_64-linux-gnu/libelf.so.1 (0x00007fd4f6881000)
#39 0.090 	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fd4f6865000)
#39 0.090 	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd4f6673000)
#39 0.090 	/lib64/ld-linux-x86-64.so.2 (0x00007fd4f6a86000)
#39 DONE 0.1s

#12 [linux/arm64 stage-3  2/20] RUN apt-get update && apt-get install -y lib...
#12 4.080 Get:10 http://ports.ubuntu.com/ubuntu-ports focal-updates/main arm64 Packages [133 kB]
#12 ...

#40 [linux/amd64 stage-3  6/20] RUN /bin/bpftool version
#40 0.086 /bin/bpftool v5.7.0-rc2
#40 DONE 0.1s

#42 [linux/amd64 stage-3  7/20] COPY --from=iproute2-dist /bin/ip /bin/tc /b...
#42 DONE 0.1s

#43 [linux/amd64 stage-3  8/20] RUN file /bin/ip
#43 0.091 /bin/ip: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9e934afc463975e2bbad2196460765ce84020570, for GNU/Linux 3.2.0, stripped
#43 DONE 0.1s

#44 [linux/amd64 stage-3  9/20] RUN ldd /bin/ip
#44 0.098 	linux-vdso.so.1 (0x00007fffe1dd1000)
#44 0.098 	libelf.so.1 => /lib/x86_64-linux-gnu/libelf.so.1 (0x00007fd6c651b000)
#44 0.098 	libmnl.so.0 => /lib/x86_64-linux-gnu/libmnl.so.0 (0x00007fd6c6315000)
#44 0.098 	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fd6c630f000)
#44 0.098 	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd6c611d000)
#44 0.098 	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fd6c6101000)
#44 0.098 	/lib64/ld-linux-x86-64.so.2 (0x00007fd6c6616000)
#44 DONE 0.1s

#45 [linux/amd64 stage-3 10/20] RUN /bin/ip -V
#45 0.087 ip utility, iproute2-ss190107
#45 DONE 0.1s

#46 [linux/amd64 stage-3 11/20] RUN file /bin/tc
#46 0.089 /bin/tc: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a9643e2f83621bb59d7f0baa4c7a6f54e6b7e031, for GNU/Linux 3.2.0, stripped
#46 DONE 0.1s

#47 [linux/amd64 stage-3 12/20] RUN ldd /bin/tc
#47 0.097 	linux-vdso.so.1 (0x00007fffca3d0000)
#47 0.097 	libelf.so.1 => /lib/x86_64-linux-gnu/libelf.so.1 (0x00007fcc9dbfc000)
#47 0.097 	libmnl.so.0 => /lib/x86_64-linux-gnu/libmnl.so.0 (0x00007fcc9d9f6000)
#47 0.097 	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fcc9d8a7000)
#47 0.097 	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fcc9d8a1000)
#47 0.097 	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcc9d6af000)
#47 0.097 	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fcc9d693000)
#47 0.097 	/lib64/ld-linux-x86-64.so.2 (0x00007fcc9dca5000)
#47 DONE 0.1s

#48 [linux/amd64 stage-3 13/20] RUN /bin/tc -V
#48 0.099 tc utility, iproute2-ss190107
#48 DONE 0.1s

#50 [linux/amd64 stage-3 14/20] COPY --from=llvm-dist /bin/llc /bin/clang /b...
#50 DONE 0.3s

#12 [linux/arm64 stage-3  2/20] RUN apt-get update && apt-get install -y lib...
#12 ...

#51 [linux/amd64 stage-3 15/20] RUN file /bin/llc
#51 0.094 /bin/llc: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=5417ace7d69e5bec26fb0d49158557a07e5b0f00, for GNU/Linux 3.2.0, stripped
#51 DONE 0.1s

#52 [linux/amd64 stage-3 16/20] RUN ldd /bin/llc
#52 0.091 	linux-vdso.so.1 (0x00007ffe38758000)
#52 0.091 	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fdb09e32000)
#52 0.091 	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fdb09e16000)
#52 0.091 	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fdb09e10000)
#52 0.091 	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fdb09c2f000)
#52 0.091 	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fdb09ae0000)
#52 0.091 	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fdb09ac5000)
#52 0.091 	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fdb098d1000)
#52 0.091 	/lib64/ld-linux-x86-64.so.2 (0x00007fdb0b83c000)
#52 DONE 0.1s

#12 [linux/arm64 stage-3  2/20] RUN apt-get update && apt-get install -y lib...
#12 5.698 Get:11 http://ports.ubuntu.com/ubuntu-ports focal-backports/universe arm64 Packages [2896 B]
#12 ...

#53 [linux/amd64 stage-3 17/20] RUN /bin/llc --version
#53 0.110 LLVM (http://llvm.org/):
#53 0.110   LLVM version 10.0.0
#53 0.110   Optimized build.
#53 0.110   Default target: x86_64-unknown-linux-gnu
#53 0.110   Host CPU: skylake
#53 0.110 
#53 0.110   Registered Targets:
#53 0.110     bpf   - BPF (host endian)
#53 0.110     bpfeb - BPF (big endian)
#53 0.110     bpfel - BPF (little endian)
#53 DONE 0.2s

#54 [linux/amd64 stage-3 18/20] RUN file /bin/clang
#54 0.093 /bin/clang: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=cb3e523b302664cb274dda185b7481f9836366d1, for GNU/Linux 3.2.0, stripped
#54 DONE 0.1s

#55 [linux/amd64 stage-3 19/20] RUN ldd /bin/clang
#55 0.095 	linux-vdso.so.1 (0x00007fff89319000)
#55 0.095 	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f2734cf3000)
#55 0.095 	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f2734cd7000)
#55 0.095 	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f2734cd1000)
#55 0.095 	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f2734af0000)
#55 0.095 	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f27349a1000)
#55 0.095 	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f2734986000)
#55 0.095 	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2734792000)
#55 0.095 	/lib64/ld-linux-x86-64.so.2 (0x00007f2739969000)
#55 DONE 0.1s

#56 [linux/amd64 stage-3 20/20] RUN /bin/clang --version
#56 0.093 clang version 10.0.0 
#56 0.093 Target: x86_64-unknown-linux-gnu
#56 0.093 Thread model: posix
#56 0.093 InstalledDir: /bin
#56 DONE 0.1s

#12 [linux/arm64 stage-3  2/20] RUN apt-get update && apt-get install -y lib...
#12 7.181 Get:12 http://ports.ubuntu.com/ubuntu-ports focal-security/main arm64 Packages [69.4 kB]
#12 7.244 Get:13 http://ports.ubuntu.com/ubuntu-ports focal-security/universe arm64 Packages [32.3 kB]
#12 7.327 Fetched 13.4 MB in 7s (1923 kB/s)
#12 7.327 Reading package lists...
#12 12.97 Reading package lists...
#12 18.22 Building dependency tree...
#12 19.14 Reading state information...
#12 19.79 libc-bin is already the newest version (2.31-0ubuntu9).
#12 19.79 The following additional packages will be installed:
#12 19.79   libmagic-mgc libmagic1
#12 19.91 The following NEW packages will be installed:
#12 19.91   file libelf1 libmagic-mgc libmagic1 libmnl0
#12 20.12 0 upgraded, 5 newly installed, 0 to remove and 2 not upgraded.
#12 20.12 Need to get 369 kB of archives.
#12 20.12 After this operation, 6397 kB of additional disk space will be used.
#12 20.12 Get:1 http://ports.ubuntu.com/ubuntu-ports focal/main arm64 libmagic-mgc arm64 1:5.38-4 [218 kB]
#12 20.20 Get:2 http://ports.ubuntu.com/ubuntu-ports focal/main arm64 libmagic1 arm64 1:5.38-4 [71.7 kB]
#12 20.20 Get:3 http://ports.ubuntu.com/ubuntu-ports focal/main arm64 file arm64 1:5.38-4 [23.3 kB]
#12 20.20 Get:4 http://ports.ubuntu.com/ubuntu-ports focal/main arm64 libelf1 arm64 0.176-1.1build1 [44.2 kB]
#12 20.21 Get:5 http://ports.ubuntu.com/ubuntu-ports focal/main arm64 libmnl0 arm64 1.0.4-2 [11.3 kB]
#12 20.95 debconf: delaying package configuration, since apt-utils is not installed
#12 21.06 Fetched 369 kB in 0s (1367 kB/s)
#12 21.20 Selecting previously unselected package libmagic-mgc.
(Reading database ... 4115 files and directories currently installed.)
#12 21.22 Preparing to unpack .../libmagic-mgc_1%3a5.38-4_arm64.deb ...
#12 21.22 Unpacking libmagic-mgc (1:5.38-4) ...
#12 21.47 Selecting previously unselected package libmagic1:arm64.
#12 21.47 Preparing to unpack .../libmagic1_1%3a5.38-4_arm64.deb ...
#12 21.48 Unpacking libmagic1:arm64 (1:5.38-4) ...
#12 21.65 Selecting previously unselected package file.
#12 21.65 Preparing to unpack .../file_1%3a5.38-4_arm64.deb ...
#12 21.65 Unpacking file (1:5.38-4) ...
#12 21.81 Selecting previously unselected package libelf1:arm64.
#12 21.81 Preparing to unpack .../libelf1_0.176-1.1build1_arm64.deb ...
#12 21.82 Unpacking libelf1:arm64 (0.176-1.1build1) ...
#12 21.98 Selecting previously unselected package libmnl0:arm64.
#12 21.98 Preparing to unpack .../libmnl0_1.0.4-2_arm64.deb ...
#12 21.98 Unpacking libmnl0:arm64 (1.0.4-2) ...
#12 22.12 Setting up libmagic-mgc (1:5.38-4) ...
#12 22.13 Setting up libmagic1:arm64 (1:5.38-4) ...
#12 22.14 Setting up file (1:5.38-4) ...
#12 22.15 Setting up libmnl0:arm64 (1.0.4-2) ...
#12 22.15 Setting up libelf1:arm64 (0.176-1.1build1) ...
#12 22.16 Processing triggers for libc-bin (2.31-0ubuntu9) ...
#12 DONE 22.4s

#14 [linux/arm64 stage-3  3/20] COPY --from=bpftool-dist /bin/bpftool /bin/b...
#14 DONE 0.0s

#15 [linux/arm64 stage-3  4/20] RUN file /bin/bpftool
#15 0.136 /bin/bpftool: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=19f3a0e4d2a284693fff2a051d3002c884db88e9, for GNU/Linux 3.7.0, stripped
#15 DONE 0.2s

#16 [linux/arm64 stage-3  5/20] RUN ldd /bin/bpftool
#16 0.223 	libelf.so.1 => /lib/aarch64-linux-gnu/libelf.so.1 (0x0000004000a2b000)
#16 0.223 	libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x0000004000a5a000)
#16 0.223 	libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000004000a84000)
#16 0.223 	/lib/ld-linux-aarch64.so.1 (0x0000004000000000)
#16 DONE 0.3s

#17 [linux/arm64 stage-3  6/20] RUN /bin/bpftool version
#17 0.121 /bin/bpftool v5.7.0-rc2
#17 DONE 0.2s

#19 [linux/arm64 stage-3  7/20] COPY --from=iproute2-dist /bin/ip /bin/tc /b...
#19 DONE 0.1s

#20 [linux/arm64 stage-3  8/20] RUN file /bin/ip
#20 0.143 /bin/ip: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=92f64113ba0237e262ce03151a2acafbbeff3502, for GNU/Linux 3.7.0, stripped
#20 DONE 0.2s

#21 [linux/arm64 stage-3  9/20] RUN ldd /bin/ip
#21 0.216 	libelf.so.1 => /lib/aarch64-linux-gnu/libelf.so.1 (0x0000004000920000)
#21 0.216 	libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x000000400094f000)
#21 0.216 	libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000004000963000)
#21 0.216 	/lib/ld-linux-aarch64.so.1 (0x0000004000000000)
#21 0.216 	libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x0000004000ad4000)
#21 DONE 0.3s

#22 [linux/arm64 stage-3 10/20] RUN /bin/ip -V
#22 0.114 ip utility, iproute2-ss190107
#22 DONE 0.2s

#23 [linux/arm64 stage-3 11/20] RUN file /bin/tc
#23 0.142 /bin/tc: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=6066a656d706db69a8bee340387bf7b5525ed37c, for GNU/Linux 3.7.0, stripped
#23 DONE 0.2s

#24 [linux/arm64 stage-3 12/20] RUN ldd /bin/tc
#24 0.222 	libelf.so.1 => /lib/aarch64-linux-gnu/libelf.so.1 (0x00000040008cc000)
#24 0.222 	libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x00000040008fb000)
#24 0.222 	libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x00000040009a6000)
#24 0.222 	libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x00000040009ba000)
#24 0.222 	/lib/ld-linux-aarch64.so.1 (0x0000004000000000)
#24 0.222 	libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x0000004000b2b000)
#24 DONE 0.3s

#25 [linux/arm64 stage-3 13/20] RUN /bin/tc -V
#25 0.120 tc utility, iproute2-ss190107
#25 DONE 0.2s

#27 [linux/arm64 stage-3 14/20] COPY --from=llvm-dist /bin/llc /bin/clang /b...
#27 DONE 0.2s

#28 [linux/arm64 stage-3 15/20] RUN file /bin/llc
#28 0.142 /bin/llc: ELF 64-bit LSB shared object, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=539ed38ce1a2e3ccf269c5ec70b6a835935ce965, for GNU/Linux 3.7.0, stripped
#28 DONE 0.2s

#29 [linux/arm64 stage-3 16/20] RUN ldd /bin/llc
#29 0.217 	libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x00000040024c9000)
#29 0.217 	libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x00000040024fb000)
#29 0.217 	libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000004002525000)
#29 0.217 	libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000004002539000)
#29 0.217 	libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x000000400271b000)
#29 0.217 	libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x00000040027c6000)
#29 0.217 	libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x00000040027eb000)
#29 0.217 	/lib/ld-linux-aarch64.so.1 (0x0000004000000000)
#29 DONE 0.3s

#30 [linux/arm64 stage-3 17/20] RUN /bin/llc --version
#30 0.221 LLVM (http://llvm.org/):
#30 0.221   LLVM version 10.0.0
#30 0.221   Optimized build.
#30 0.221   Default target: aarch64-linux-gnu
#30 0.221   Host CPU: (unknown)
#30 0.221 
#30 0.221   Registered Targets:
#30 0.221     aarch64    - AArch64 (little endian)
#30 0.221     aarch64_32 - AArch64 (little endian ILP32)
#30 0.221     aarch64_be - AArch64 (big endian)
#30 0.221     arm64      - ARM64 (little endian)
#30 0.221     arm64_32   - ARM64 (little endian ILP32)
#30 DONE 0.3s

#31 [linux/arm64 stage-3 18/20] RUN file /bin/clang
#31 0.136 /bin/clang: ELF 64-bit LSB shared object, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=20b4595650ce398e49a4d7bf6130b5c8a16f29a1, for GNU/Linux 3.7.0, stripped
#31 DONE 0.2s

#32 [linux/arm64 stage-3 19/20] RUN ldd /bin/clang
#32 0.219 	libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x000000400533b000)
#32 0.219 	libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x000000400536d000)
#32 0.219 	libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000004005397000)
#32 0.219 	libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x00000040053ab000)
#32 0.219 	libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x000000400558d000)
#32 0.220 	libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000004005638000)
#32 0.220 	libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x000000400565d000)
#32 0.220 	/lib/ld-linux-aarch64.so.1 (0x0000004000000000)
#32 DONE 0.3s

#33 [linux/arm64 stage-3 20/20] RUN /bin/clang --version
#33 0.234 clang version 10.0.0 
#33 0.234 Target: aarch64-unknown-linux-gnu
#33 0.234 Thread model: posix
#33 0.234 InstalledDir: /bin
#33 DONE 0.3s
$

🚢 All are looking good!

aanm
aanm previously requested changes May 25, 2020
Copy link
Member

@aanm aanm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good overall. Couple nits:

  • Please change all docker.io/errordeveloper to docker.io/cilium?
  • Please change linuxkit/binfmt to docker.io/linuxkit/binfmt?
  • Clean up commits and squash some of them together.

@errordeveloper
Copy link
Contributor Author

@aanm thanks for the review! Using docker.io/cilium is already on the TODO, can you please add DOCKER_HUB_USERNAME and DOCKER_HUB_PASSWORD as secretes in the repo please? I am actually thinking that it would be cleaner to switch in a follow-up PR, but that shouldn't matter so much.

I've started squashing the commits already, will definitely squash a few more!

@aanm
Copy link
Member

aanm commented May 26, 2020

@errordeveloper the following secrets and repositories were added / created:

DOCKER_HUB_USERNAME
DOCKER_HUB_PASSWORD
docker.io/cilium/cilium-bpftool
docker.io/cilium/cilium-llvm
docker.io/cilium/cilium-iproute2
QUAY_USERNAME
QUAY_PASSWORD
quay.io/cilium/cilium-bpftool
quay.io/cilium/cilium-llvm
quay.io/cilium/cilium-iproute2

@errordeveloper
Copy link
Contributor Author

@aanm could you please create maker and common-builder image repos as well?

@aanm
Copy link
Member

aanm commented May 26, 2020

created

docker.io/cilium/image-maker
docker.io/cilium/image-compilers

quay.io/cilium/image-maker
quay.io/cilium/image-compilers

- add APL 2
- add Makefile
- add GitHub Actions workflows
   - build and push new images on commits to master
   - check dockerfile and shell scripts with hadolint and shellcheck
     on pull-requests
- add image tag genrator script
- add `build-image.sh` to wrap conditional build logic, as handing exit
  codes in a makefile is quite tedious, it's easier to use a script
- add maker image - it contains make, buildx and other core
  dependencies required to run containerised builds independently
  of what version of Docker daemon and client is avalaible
  - include `docker-credential-env` to avoids having to store
    passwords in `config.json` on disk, which usually happens
    when `docker login` is ran without some sort of keychain
    provider configured
  - include shellcheck and hadolint
- add compilers, llvm, bpftool and iproute2 images
- remove old Dockerfiles

Signed-off-by: Ilya Dmitrichenko <[email protected]>
@errordeveloper
Copy link
Contributor Author

@aanm I've renamed all images and squashed the commits, please merge!

@errordeveloper errordeveloper merged commit 61d38f6 into cilium:master May 26, 2020
borkmann added a commit that referenced this pull request May 28, 2020
Commit 61d38f6 ("Build images in GitHub Actions (#3)") pointed
bpftool back to an old revision which breaks the expectations from
cilium-runtime. Move it forward in time to something recent.

Signed-off-by: Daniel Borkmann <[email protected]>
borkmann added a commit that referenced this pull request May 28, 2020
Commit 61d38f6 ("Build images in GitHub Actions (#3)") pointed
bpftool back to an old revision which breaks the expectations from
cilium-runtime. Move it forward in time to something recent.

Signed-off-by: Daniel Borkmann <[email protected]>
errordeveloper added a commit to errordeveloper/cilium-image-tools that referenced this pull request Jun 8, 2020
BPF bytecode is the target, it is independent of CPU architecture.
The configuration was originally overlooked in cilium#3.

Fixes: cilium#31

Signed-off-by: Ilya Dmitrichenko <[email protected]>
aanm pushed a commit that referenced this pull request Jun 8, 2020
BPF bytecode is the target, it is independent of CPU architecture.
The configuration was originally overlooked in #3.

Fixes: #31

Signed-off-by: Ilya Dmitrichenko <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants