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

[WIP] Docker multi-arch arm7/8 #7710

Closed
wants to merge 44 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
6ae342d
use docker buildx
mburns Oct 2, 2020
a80fbf2
update docker buildx build --push command
mburns Oct 2, 2020
7891e9b
fix quotes
mburns Oct 2, 2020
a9b4e54
apt not apk
mburns Oct 2, 2020
17b0285
try with arm/v7
mburns Oct 2, 2020
54880b5
Revert "try with arm/v7"
mburns Oct 2, 2020
5cffcdb
use custom image, per https://www.docker.com/blog/multi-arch-build-wh…
mburns Oct 9, 2020
ee587a3
try without 'linux/arm/v7'
mburns Oct 9, 2020
afaab7e
try
mburns Oct 9, 2020
f02a9c6
no sudo silly
mburns Oct 9, 2020
cdef764
revert custom image
mburns Oct 9, 2020
485780b
try
mburns Oct 9, 2020
d7b86e5
undo
mburns Oct 9, 2020
acc29c0
try
mburns Oct 9, 2020
2f5f500
only amd64
mburns Oct 9, 2020
3670728
try
mburns Oct 9, 2020
dc47723
Merge remote-tracking branch 'upstream/master' into docker-multiarch-arm
mburns Nov 17, 2020
8ca1577
install qemu and docker buildx
mburns Nov 17, 2020
353c2b5
enable arm64
mburns Nov 17, 2020
355a221
Update config.yml
mburns Nov 17, 2020
8cad5a6
Update config.yml
mburns Nov 17, 2020
f3a105b
Update config.yml
mburns Nov 19, 2020
21e02ae
Update config.yml
mburns Nov 19, 2020
2f3f19b
Update config.yml
mburns Nov 19, 2020
3392734
Update config.yml
mburns Nov 19, 2020
c091923
Update config.yml
mburns Nov 19, 2020
226caa0
Update config.yml
mburns Nov 19, 2020
77dc242
Update config.yml
mburns Nov 19, 2020
450f207
Update config.yml
mburns Nov 19, 2020
ca6bddb
Update config.yml
mburns Nov 19, 2020
36020ac
Update config.yml
mburns Nov 19, 2020
d3c14da
Update config.yml
mburns Nov 19, 2020
fa415fe
Update config.yml
mburns Nov 19, 2020
f39961d
Update config.yml
mburns Nov 19, 2020
ca5ad65
Update config.yml
mburns Nov 19, 2020
0c1a670
Update config.yml
mburns Nov 19, 2020
e833f5f
Update config.yml
mburns Nov 19, 2020
b3762b0
Update config.yml
mburns Nov 19, 2020
c6758ad
Update config.yml
mburns Nov 19, 2020
09fb227
Update config.yml
mburns Nov 19, 2020
efd2ab3
Update config.yml
mburns Nov 19, 2020
4764e34
Merge branch 'ipfs:master' into docker-multiarch-arm
mburns Jul 11, 2021
857949b
deduplicate
mburns Jul 11, 2021
d3357d0
syntax
mburns Jul 11, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 27 additions & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,9 @@ executors:
environment:
IMAGE_NAME: ipfs/go-ipfs
WIP_IMAGE_TAG: wip
DOCKER_CLI_EXPERIMENTAL: enabled
DOCKER_BUILDKIT: 1
BUILDX_PLATFORMS: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6

jobs:
gobuild:
Expand Down Expand Up @@ -320,10 +323,33 @@ jobs:
- checkout
- setup_remote_docker:
version: "19.03.13"
- run: sudo apt update -y
- run: sudo apt install -y make curl qemu-user-static qemu-user binfmt-support
- run:
name: Install buildx
command: |
BUILDX_BINARY_URL="https://github.com/docker/buildx/releases/download/v0.4.2/buildx-v0.4.2.linux-amd64"

curl --output docker-buildx \
--silent --show-error --location --fail --retry 3 \
"$BUILDX_BINARY_URL"

mkdir -vp ~/.docker/cli-plugins

mv docker-buildx ~/.docker/cli-plugins/
chmod a+x ~/.docker/cli-plugins/docker-buildx

docker buildx install
# Run binfmt
docker run --rm --privileged tonistiigi/binfmt:latest --install "$BUILDX_PLATFORMS"

- run: docker buildx create --use --name mybuilder
- run:
name: Build Docker image
command: |
docker build -t $IMAGE_NAME:$WIP_IMAGE_TAG .
docker buildx build \
--platform "$BUILDX_PLATFORMS" \
-t $IMAGE_NAME:$WIP_IMAGE_TAG .
- run:
name: Archive Docker image
command: docker save -o go-ipfs-image.tar $IMAGE_NAME
Expand Down
10 changes: 8 additions & 2 deletions bin/push-docker-tags.sh
Original file line number Diff line number Diff line change
Expand Up @@ -46,16 +46,22 @@ DRY_RUN=${5:-false}
WIP_IMAGE_TAG=${WIP_IMAGE_TAG:-wip}
IMAGE_NAME=${IMAGE_NAME:-ipfs/go-ipfs}

ARCHS=${BUILDX_PLATFORMS:-"linux/arm/v7,linux/arm64/v8,linux/amd64"}

pushTag () {
local IMAGE_TAG=$1
if [ "$DRY_RUN" != false ]; then
echo "DRY RUN! I would have tagged and pushed the following..."
echo docker tag "$IMAGE_NAME:$WIP_IMAGE_TAG" "$IMAGE_NAME:$IMAGE_TAG"
echo docker push "$IMAGE_NAME:$IMAGE_TAG"
echo "docker buildx build --push \
--platform "$ARCHS" \
--tag '$IMAGE_NAME:$IMAGE_TAG'"
else
echo "Tagging $IMAGE_NAME:$IMAGE_TAG and pushing to dockerhub"
docker tag "$IMAGE_NAME:$WIP_IMAGE_TAG" "$IMAGE_NAME:$IMAGE_TAG"
docker push "$IMAGE_NAME:$IMAGE_TAG"
docker buildx build --push \
--platform "$ARCHS" \
--tag "$IMAGE_NAME:$IMAGE_TAG" .
fi
}

Expand Down