Skip to content

Commit

Permalink
fix: enable multi arch oci images from github actions. Fix #32.
Browse files Browse the repository at this point in the history
Signed-off-by: Adrian Riobo <ariobolo@redhat.com>
  • Loading branch information
adrianriobo committed Oct 17, 2024
1 parent 71d9c0c commit b6e5af5
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 11 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/crc-builder-builder.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
tags: [ 'crc-builder-v*' ]
pull_request:
branches: [ main ]
paths: ['crc-builder/**', '.github\/workflows\/crc-builder*' ]
paths: ['Makefile', 'crc-builder/**', '.github\/workflows\/crc-builder*' ]

jobs:
build:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/snc-runner-builder.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
- '.github\/workflows\/snc-runner\/release-info'
pull_request:
branches: [ main ]
paths: ['snc-runner/**', '.github\/workflows\/snc-runner*' ]
paths: ['Makefile', 'snc-runner/**', '.github\/workflows\/snc-runner*' ]

jobs:
build:
Expand Down
24 changes: 15 additions & 9 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -63,28 +63,34 @@ CRC_BUILDER_SAVE ?= crc-builder
crc-builder-oci-build: CONTEXT=crc-builder/oci
crc-builder-oci-build: MANIFEST=$(CRC_BUILDER):$(CRC_BUILDER_V)
crc-builder-oci-build:
${CONTAINER_MANAGER} manifest create $(MANIFEST)-linux
${CONTAINER_MANAGER} build --platform linux/arm64 --build-arg=TARGETARCH=arm64 --manifest $(MANIFEST)-linux -f $(CONTEXT)/Containerfile.linux $(CONTEXT)
${CONTAINER_MANAGER} build --platform linux/amd64 --build-arg=TARGETARCH=amd64 --manifest $(MANIFEST)-linux -f $(CONTEXT)/Containerfile.linux $(CONTEXT)
${CONTAINER_MANAGER} build --platform linux/arm64 --manifest $(MANIFEST)-linux-arm64 -f $(CONTEXT)/Containerfile.linux $(CONTEXT)
${CONTAINER_MANAGER} build --platform linux/amd64 --manifest $(MANIFEST)-linux-amd64 -f $(CONTEXT)/Containerfile.linux $(CONTEXT)
${CONTAINER_MANAGER} build -t $(MANIFEST)-windows -f $(CONTEXT)/Containerfile.non-linux --build-arg=OS=windows $(CONTEXT)
${CONTAINER_MANAGER} build -t $(MANIFEST)-darwin -f $(CONTEXT)/Containerfile.non-linux --build-arg=OS=darwin $(CONTEXT)

crc-builder-oci-save: MANIFEST=$(CRC_BUILDER):$(CRC_BUILDER_V)
crc-builder-oci-save: ARM64D=$(shell ${CONTAINER_MANAGER} manifest inspect ${MANIFEST}-linux-arm64 | jq '.manifests[0].digest')
crc-builder-oci-save:
${CONTAINER_MANAGER} save -o $(CRC_BUILDER_SAVE)-linux.tar $(MANIFEST)-linux
${CONTAINER_MANAGER} manifest annotate --arch amd64 $(MANIFEST)-linux-arm64 $(ARM64D)
${CONTAINER_MANAGER} save -m -o $(CRC_BUILDER_SAVE)-linux-amd64.tar $(MANIFEST)-linux-amd64
${CONTAINER_MANAGER} save -m -o $(CRC_BUILDER_SAVE)-linux-arm64.tar $(MANIFEST)-linux-arm64
${CONTAINER_MANAGER} save -o $(CRC_BUILDER_SAVE)-windows.tar $(MANIFEST)-windows
${CONTAINER_MANAGER} save -o $(CRC_BUILDER_SAVE)-darwin.tar $(MANIFEST)-darwin

crc-builder-oci-load:
${CONTAINER_MANAGER} load -i $(CRC_BUILDER_SAVE)-linux.tar
${CONTAINER_MANAGER} load -i $(CRC_BUILDER_SAVE)-linux-arm64.tar
${CONTAINER_MANAGER} load -i $(CRC_BUILDER_SAVE)-linux-amd64.tar
${CONTAINER_MANAGER} load -i $(CRC_BUILDER_SAVE)-windows.tar
${CONTAINER_MANAGER} load -i $(CRC_BUILDER_SAVE)-darwin.tar

crc-builder-oci-push: MANIFEST=$(CRC_BUILDER):$(CRC_BUILDER_V)
crc-builder-oci-push:
ifndef IMAGE
IMAGE = $(CRC_BUILDER):$(CRC_BUILDER_V)
endif
${CONTAINER_MANAGER} manifest push $(IMAGE)-linux
${CONTAINER_MANAGER} push $(MANIFEST)-linux-arm64
${CONTAINER_MANAGER} push $(MANIFEST)-linux-amd64
${CONTAINER_MANAGER} manifest create $(MANIFEST)-linux
${CONTAINER_MANAGER} manifest add $(MANIFEST)-linux docker://$(MANIFEST)-linux-arm64
${CONTAINER_MANAGER} manifest add $(MANIFEST)-linux docker://$(MANIFEST)-linux-amd64
${CONTAINER_MANAGER} manifest push --all $(MANIFEST)-linux
${CONTAINER_MANAGER} push $(IMAGE)-windows
${CONTAINER_MANAGER} push $(IMAGE)-darwin

Expand Down

0 comments on commit b6e5af5

Please sign in to comment.