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

Test builds for ARM #904

Closed
bobstrecansky opened this issue Dec 21, 2022 · 9 comments
Closed

Test builds for ARM #904

bobstrecansky opened this issue Dec 21, 2022 · 9 comments
Assignees
Labels
enhancement New feature or request medium medium sized task

Comments

@bobstrecansky
Copy link
Collaborator

Before opening a feature request against this repo, consider whether the feature should/could be implemented in the other OpenTelemetry client libraries. If so, please open an issue in opentelemetry-specification first.

Is your feature request related to a problem?
If so, provide a concise description of the problem.
During the SIG meeting today, we discussed the potential for validating ARM builds for opentelemetry-php.

Describe the solution you'd like
What do you want to happen instead? What is the expected behavior?
We'd like to be able to build this project for ARM64

@bobstrecansky bobstrecansky self-assigned this Dec 21, 2022
@bobstrecansky bobstrecansky added enhancement New feature or request release:required-for-ga medium medium sized task labels Dec 21, 2022
@brettmc
Copy link
Collaborator

brettmc commented Jan 9, 2023

It looks like we'd need to obtain a custom github runner to be able to run ARM: https://github.com/marketplace/actions/setup-php-action#multi-arch-setup
Other options:
actions/runner-images#5631 <- arm support may be coming in the future
https://github.com/uraimo/run-on-arch-action <- add an extra virtualization layer with qemu (slower)

We do have access to some machines, so maybe one of them could be spun up as a self-hosted ARM runner? (although, the docs warn about doing this for public repositories: https://docs.github.com/en/actions/hosting-your-own-runners/adding-self-hosted-runners)

@bobstrecansky
Copy link
Collaborator Author

Also planning on following up with the other language maintainers to see what their plans are for ARM support.

@brettmc
Copy link
Collaborator

brettmc commented Feb 27, 2023

buildjet.com is a service which claims to have ARM-based github runners, and a free trial period. We could at least test out doing ARM-based builds there. Not sure of CNCF might pay for ongoing usage?

@brettmc
Copy link
Collaborator

brettmc commented Feb 28, 2023

Using buildjet, I was able to validate that our current test suite is successful on an ARM-based runner: https://github.com/brettmc/opentelemetry-php/actions/runs/4288355161/jobs/7470265577

@bobstrecansky
Copy link
Collaborator Author

Nice, thank you @brettmc! I meant to circle back around to this, but glad you were able to test with buildjet. I'm following up in the maintainers channel to see about dedicated/ARM based runners.

@bobstrecansky
Copy link
Collaborator Author

@bobstrecansky
Copy link
Collaborator Author

Dropping the Required for GA tag, as this isn't probably isn't a General Availability requirement

@bobstrecansky
Copy link
Collaborator Author

I was also able to successfully stand up an arm64 instance in GCP and perform the actions in the Makefile. There was a small error in the unit tests, but I don' think it's a showstopper:

There were 4 failures:

1) OpenTelemetry\Tests\Unit\Context\DebugScopeTest::test_detached_scope_detach
Failed asserting that exception of type "PHPUnit\Framework\Error\Notice" is thrown.

phpvfscomposer:///home/bob_strecansky/opentelemetry-php/vendor/phpunit/phpunit/phpunit:97

2) OpenTelemetry\Tests\Unit\Context\DebugScopeTest::test_order_mismatch_scope_detach
Failed asserting that exception of type "PHPUnit\Framework\Error\Notice" is thrown.

phpvfscomposer:///home/bob_strecansky/opentelemetry-php/vendor/phpunit/phpunit/phpunit:97

3) OpenTelemetry\Tests\Unit\Context\DebugScopeTest::test_inactive_scope_detach
Failed asserting that exception of type "PHPUnit\Framework\Error\Notice" is thrown.

phpvfscomposer:///home/bob_strecansky/opentelemetry-php/vendor/phpunit/phpunit/phpunit:97

4) OpenTelemetry\Tests\Unit\Context\DebugScopeTest::test_missing_scope_detach
Failed asserting that exception of type "PHPUnit\Framework\Error\Notice" is thrown.

phpvfscomposer:///home/bob_strecansky/opentelemetry-php/vendor/phpunit/phpunit/phpunit:97

--

@bobstrecansky
Copy link
Collaborator Author

I am going to close this for now because I feel it's mostly alleviated. Happy to have it reopened if someone feels it needs more attention.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request medium medium sized task
Projects
None yet
Development

No branches or pull requests

2 participants