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

Add support for multiarch builds (amd64 and arm64) #24

Merged
merged 6 commits into from
Feb 27, 2024

Conversation

iamjoemccormick
Copy link
Member

@iamjoemccormick iamjoemccormick commented Feb 23, 2024

Remaining Work

Checklist before merging:

  • Documentation: Has documentation been added for new functionality? Does any existing documentation need to be updated or removed?
  • Tests: Is there adequate test coverage for new functionality? Do any existing tests need to be updated?
  • Dependencies: Does this PR rely on any changes to dependencies? If so has the go.mod or equivalent been updated to point at a version that contains the related changes?
  • Git Hygiene: Is the commit history squashed down reasonably?

Which issue(s) does this PR address?

Resolves #5

Does this PR depend on any other PRs to be merged first?

No

What does this PR do / why do we need it?

Adds support for building and publishing multi-architecture driver and operator container images. It also upgrades release-tools as this was needed to perform multiarch builds using release-tools (though we don't actually use release-tools to publish multi-arch images using GH actions).

Official support for arm64 has been previously requested and is increasingly growing in relevance as demand for ARM machines increases. From the driver's perspective support for arm64 is trivial, you just need to build the driver for that platform, the complicated part is reworking how we build and publish container images that support multiple architectures.

What are the next steps after this PR?

All work items for this task are complete with this PR.

dc4d0ae2 Merge pull request #249 from jsafrane/use-go-version
e681b170 Use .go-version to get Kubernetes go version
b54c1ba4 Merge pull request #246 from xing-yang/go_1.21
5436c81e Change go version to 1.21.5
267b40e9 Merge pull request #244 from carlory/sig-storage
b42e5a2d nominate self (carlory) as kubernetes-csi reviewer
a17f536f Merge pull request #210 from sunnylovestiramisu/sidecar
011033de Use set -x instead of die
5deaf667 Add wrapper script for sidecar release
f8c8cc4c Merge pull request #237 from msau42/prow
b36b5bfd Merge pull request #240 from dannawang0221/upgrade-go-version
adfddcc9 Merge pull request #243 from pohly/git-subtree-pull-fix
c4650889 pull-test.sh: avoid "git subtree pull" error
7b175a1e Update csi-test version to v5.2.0
987c90cc Update go version to 1.21 to match k/k
2c625d41 Add script to generate patch release notes
f9d5b9c0 Merge pull request #236 from mowangdk/feature/bump_csi-driver-host-path_version
b01fd537 Bump csi-driver-host-path version up to v1.12.0
984feece Merge pull request #234 from siddhikhapare/csi-tools
1f7e6059 fixed broken links of testgrid dashboard
de2fba88 Merge pull request #233 from andyzhangx/andyzhangx-patch-1
cee895e1 remove windows 20H2 build since it's EOL long time ago
670bb0ef Merge pull request #229 from marosset/fix-codespell-errors
35d5e783 Merge pull request #219 from yashsingh74/update-registry
63473cc9 Merge pull request #231 from coulof/bump-go-version-1.20.5
29a5c76c Merge pull request #228 from mowangdk/chore/adopt_kubernetes_recommand_labels
8dd28211 Update cloudbuild image with go 1.20.5
1df23dba Merge pull request #230 from msau42/prow
1f92b7e7 Add ginkgo timeout to e2e tests to help catch any stuck tests
2b8b80ea fixing some codespell errors
c10b6780 Merge pull request #227 from coulof/check-sidecar-supported-versions
72984ec0 chore: adopt kubernetes recommand label
b0555351 Header
bd0a10b6 typo
c39d73c3 Add comments
f6491af0 Script to verify EOL sidecar version
4133d1df Merge pull request #226 from msau42/cloudbuild
8d519d23 Pin buildkit to v0.10.6 to workaround v0.11 bug with docker manifest
6e04a030 Merge pull request #224 from msau42/cloudbuild
26fdfffd Update cloudbuild image
6613c398 Merge pull request #223 from sunnylovestiramisu/update
0e7ae993 Update k8s image repo url
77e47cce Merge pull request #222 from xinydev/fix-dep-version
155854b0 Fix dep version mismatch
8f839056 Merge pull request #221 from sunnylovestiramisu/go-update
1d3f94dd Update go version to 1.20 to match k/k v1.27
e322ce5e Merge pull request #220 from andyzhangx/fix-golint-error
b74a5120 test: fix golint error
901bcb5a Update registry k8s.gcr.io -> registry.k8s.io
aa61bfd0 Merge pull request #218 from xing-yang/update_csi_driver
7563d196 Update CSI_PROW_DRIVER_VERSION to v1.11.0
a2171bef Merge pull request #216 from msau42/process
cb987826 Merge pull request #217 from msau42/owners
a11216e4 add new reviewers and remove inactive reviewers
dd986754 Add step for checking builds
b66c0824 Merge pull request #214 from pohly/junit-fixes
b9b6763b filter-junit.go: fix loss of testcases when parsing Ginkgo v2 JUnit
d4277839 filter-junit.go: preserve system error log
38e11468 prow.sh: publish individual JUnit files as separate artifacts
78c0fb71 Merge pull request #208 from jsafrane/skip-selinux
36e433e2 Skip SELinux tests in CI by default
348d4a92 Merge pull request #207 from RaunakShah/reviewers
1efc2724 Merge pull request #206 from RaunakShah/update-prow
7d410d88 Changes to csi prow to run e2e tests in sidecars
cfa5a75c Merge pull request #203 from humblec/test-vendor
4edd1d8a Add RaunakShah to CSI reviewers group
7ccc9594 release tools update to 1.19
d24254f6 Merge pull request #202 from xing-yang/kind_0.14.0
0faa3fc7 Update to Kind v0.14.0 images
ef4e1b2b Merge pull request #201 from xing-yang/add_1.24_image
4ddce251 Add 1.24 Kind image
7fe51491 Merge pull request #200 from pohly/bump-kubernetes-version
70915a8e prow.sh: update snapshotter version
31a3f38b Merge pull request #199 from pohly/bump-kubernetes-version
7577454a prow.sh: bump Kubernetes to v1.22.0
d29a2e75 Merge pull request #198 from pohly/csi-test-5.0.0
41cb70d3 prow.sh: sanity testing with csi-test v5.0.0
c85a63fb Merge pull request #197 from pohly/fix-alpha-testing
b86d8e94 support Kubernetes 1.25 + Ginkgo v2
ab0b0a3d Merge pull request #192 from andyzhangx/patch-1
7bbab24e Merge pull request #196 from humblec/non-alpha
e51ff2cc introduce control variable for non alpha feature gate configuration
ca19ef52 Merge pull request #195 from pohly/fix-alpha-testing
3948331e fix testing with latest Kubernetes
e4dab7ff Merge pull request #194 from yselkowitz/registry-k8s-io
84a4d5a1 Move from k8s.gcr.io to registry.k8s.io
9a0260c5 fix boilerplate header
37d11049 Merge pull request #191 from pohly/go-1.18
db917f5c update to Go 1.18

git-subtree-dir: release-tools
git-subtree-split: dc4d0ae20a3dcce17fbfc745fb1f1e3b10cd9644
…cormick/add-multi-architecture-builds

Update release tools, specifically to fix an issue with building multiarch images:
https://github.com/kubernetes-csi/csi-release-tools/blob/dc4d0ae20a3dcce17fbfc745fb1f1e3b10cd9644/build.make#L151
@iamjoemccormick iamjoemccormick self-assigned this Feb 23, 2024
@iamjoemccormick iamjoemccormick force-pushed the iamjoemccormick/add-multi-architecture-builds branch 8 times, most recently from b9b43c1 to 719a5bc Compare February 23, 2024 22:42
@iamjoemccormick iamjoemccormick added enhancement New feature or request dependencies Updates to dependency versions ci/cd Additions or improvements to CI/CD workflows labels Feb 23, 2024
@iamjoemccormick iamjoemccormick added this to the 1.6.0 milestone Feb 23, 2024
@iamjoemccormick iamjoemccormick force-pushed the iamjoemccormick/add-multi-architecture-builds branch 5 times, most recently from 71fb1b8 to 9ed6fae Compare February 26, 2024 20:56
Azure is rolling out ubuntu-22.04 runners with Linux 6.5, which does not work with older versions of the BeeGFS client. Using Ubuntu 20.04 for broader compatibility.
@iamjoemccormick iamjoemccormick force-pushed the iamjoemccormick/add-multi-architecture-builds branch from 26b779d to 226f3bd Compare February 27, 2024 18:44
@iamjoemccormick iamjoemccormick marked this pull request as ready for review February 27, 2024 18:48
@iamjoemccormick iamjoemccormick merged commit a2911cd into master Feb 27, 2024
24 checks passed
@iamjoemccormick iamjoemccormick deleted the iamjoemccormick/add-multi-architecture-builds branch February 27, 2024 20:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci/cd Additions or improvements to CI/CD workflows dependencies Updates to dependency versions enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add support for ARM64
1 participant