Add ARM64 support to cross-version tests and release pipeline#160
Add ARM64 support to cross-version tests and release pipeline#160
Conversation
Co-authored-by: dhalperi <526415+dhalperi@users.noreply.github.com>
Co-authored-by: dhalperi <526415+dhalperi@users.noreply.github.com>
The ARM build is now tested on every PR. In commit Full ARM integration tests aren't run because GitHub-hosted runners are x86-64 only, but since the Batfish JAR is platform-independent, the build verification covers the ARM-specific risk (Dockerfile and dependency resolution). |
|
@copilot https://github.com/orgs/community/discussions/148648 this post says we CAN use arm64 runners. Why not use it? |
Co-authored-by: dhalperi <526415+dhalperi@users.noreply.github.com>
Done in
The previous QEMU setup step and QEMU-emulated ARM build steps have been removed from the |
Co-authored-by: dhalperi <526415+dhalperi@users.noreply.github.com>
Co-authored-by: dhalperi <526415+dhalperi@users.noreply.github.com>
dhalperi
left a comment
There was a problem hiding this comment.
@dhalperi reviewed 5 files and all commit messages.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on copilot[bot]).
The cross-version test and upload pipeline was amd64-only. ARM64 images were not tested before publishing, and no ARM64 images were published at all.
Changes
reusable-precommit.yml: Collapseimage_build+image_build_arm64into a single matrix job over[ubuntu-latest, ubuntu-24.04-arm], producingbf_image,bf_image_arm64,allinone_image,allinone_image_arm64artifacts.reusable-integration-tests.yml:bf_image_testandallinone_image_test: each collapsed from two jobs into one matrix job (include: runner + artifact name).pybf_cross_version_tests: collapsed from two jobs into a single 2D matrix — staticplatformdimension (amd64/arm64 runner + artifact) × dynamicpybf_versionfrom PyPI — giving a full Cartesian product:reusable-upload.yml:dev_image_uploadandprod_image_uploadpush multi-platform manifests (linux/amd64,linux/arm64) via QEMU + Buildx.prod_image_uploaduses theRelease Containersenvironment gate, so ARM64 only reaches production after approval.bf_cross_version_testsintentionally has no ARM64 variant — old batfish images on Docker Hub are amd64-only.Original prompt
📍 Connect Copilot coding agent with Jira, Azure Boards or Linear to delegate work to Copilot in one click without leaving your project management tool.