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

ci: Add tests for arm64 and for macOS #636

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

MaxymVlasov
Copy link
Collaborator

@MaxymVlasov MaxymVlasov commented Feb 23, 2024

Put an x into the box if that apply:

  • This PR introduces breaking change.
  • This PR fixes a bug.
  • This PR adds new functionality.
  • This PR enhances existing functionality.

Description of your changes

How can we test changes

Blocked by plexsystems/container-structure-test-action#6

@MaxymVlasov MaxymVlasov changed the title fix: Add tests for arm64 and for macOS tests: Add tests for arm64 and for macOS Feb 23, 2024
@MaxymVlasov MaxymVlasov changed the title tests: Add tests for arm64 and for macOS ci: Add tests for arm64 and for macOS Feb 23, 2024
if: runner.os == 'macos'
run: |
brew install docker
colima start
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@antm-pp
Copy link
Contributor

antm-pp commented Feb 23, 2024

You may understand this better than me (and appreciate it's a work in progress so not trying to review it).

The macos-latest github runner is an amd host, and the only arm host is macos-14 (beta)

The ubuntu-latest (for private repo) is running in Azure according to this spec, and indicates it's an Intel(amd) processor.

I think there's limited ability to run an arm host as a github runner.

In terms of outcomes, (despite the comments on the other PR I've made about seeing differences between aarch64/arm64) isn't the principle test just for a build with buildx arg --platform linux/arm64 as well as the current linux/amd64. Effectively the whole workflow in parallel rather than just the multi-arch build step?

@MaxymVlasov
Copy link
Collaborator Author

MaxymVlasov commented Feb 24, 2024

arm64 exist for macOS 13. GH just not updated their docs
https://docs.github.com/en/actions/using-github-hosted-runners/about-larger-runners/about-larger-runners

And matrix is a parallelism by itself, we build multiplatform image just to test that this will work, during the release

Check run workflows for the last commit
https://github.com/antonbabenko/pre-commit-terraform/actions/runs/8025437914

If there were no possibility to run arm64 runners, jobs would not start at all

@MaxymVlasov
Copy link
Collaborator Author

I will take a look at the container structure GHA next week. if it can be quickly fixed, I will use my fork (as it was some time ago), and merge this PR with all 4 checks.

If not - well, 2 arches for Ubuntu are still better than just 1 Ubuntu amd64 build.

Then we will be able to test your PR right away in GHA, just in case.

@MaxymVlasov MaxymVlasov mentioned this pull request Feb 26, 2024
4 tasks
@antm-pp
Copy link
Contributor

antm-pp commented Feb 27, 2024

So the matrix defined still only uses runs-on {{ matrix.os }} so how does the runs-on command have any concept of the architecture? I've never seen anything in github documentation to say they provide arm64 hosts (other than the recent addition of the Mac M1 processor). I can't see anywhere in the workflow that utilises the architecture specified.

This comment was marked as resolved.

@github-actions github-actions bot added the stale Denotes an issue or PR has remained open with no activity and has become stale. label Apr 5, 2024
@MaxymVlasov MaxymVlasov added on-hold Indicates that an issue or PR should not be auto-closed due to staleness. and removed stale Denotes an issue or PR has remained open with no activity and has become stale. labels Apr 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
on-hold Indicates that an issue or PR should not be auto-closed due to staleness.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants