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

Support aarch64 / arm64 arch #523

Closed
drazisil-codecov opened this issue Nov 29, 2021 · 17 comments · Fixed by #1022
Closed

Support aarch64 / arm64 arch #523

drazisil-codecov opened this issue Nov 29, 2021 · 17 comments · Fixed by #1022
Assignees
Labels
bug Something isn't working enhancement New feature or request help wanted Extra attention is needed

Comments

@drazisil-codecov
Copy link
Contributor

Is your feature request related to a problem? Please describe.
Currently the uploader does not work under arm64 docker images

Describe the solution you'd like
Support is needed.

Additional context

CircleCi machine executor running --platform linux/arm64 when launching the docker image.

@drazisil-codecov has more context

@drazisil-codecov drazisil-codecov added bug Something isn't working enhancement New feature or request help wanted Extra attention is needed labels Nov 29, 2021
@drazisil-codecov
Copy link
Contributor Author

#347

@drazisil-codecov
Copy link
Contributor Author

@kayoub5
Copy link

kayoub5 commented Jun 6, 2022

CircleCI does not yet support M1 builds.

https://support.circleci.com/hc/en-us/articles/360056461452-Apple-M1-Apple-Silion-Support-on-CircleCI

@drazisil-codecov this ticket is about Linux ARM Support, that is supported in CircleCI, see https://circleci.com/execution-environments/arm/ we even have a job for it running in https://github.com/dotpcap/sharppcap/blob/master/.circleci/config.yml#L42

@AlexWayfer
Copy link

Cirrus CI is migrating already from Intel to M1: https://cirrus-ci.org/blog/2022/11/08/sunsetting-intel-macos-instances/

AlexWayfer added a commit to filewatcher/filewatcher that referenced this issue Nov 17, 2022
Cirrus CI is moving to M1 (arm64),
Codecov uploader still doesn't support it:
codecov/uploader#523 (comment)
AlexWayfer added a commit to filewatcher/filewatcher that referenced this issue Nov 17, 2022
Cirrus CI is moving to M1 (arm64),
Codecov uploader still doesn't support it:
codecov/uploader#523 (comment)
@andyleclair
Copy link

Is there any motion on this? We're trying to use codecov on CircleCI ARM executors

chrzaszcz added a commit to esl/MongooseIM that referenced this issue Apr 17, 2023
The python uploader is now phased out [1]

The new uploader is a binary executable for x86-64 (amd64),
so there is no simple way of running it for arm64.
However, the arm64 build for small tests shouldn't affect coverage
anyway (the tests are exactly the same as for amd64), so it is just
skipped for now util the uploader supports this arch, see issue [2]

CODECOV_TOKEN needs to be used now because of issue [3]

1. https://docs.codecov.com/docs/deprecated-uploader-migration-guide#python-uploader
2. codecov/uploader#523
3. https://community.codecov.com/t/commit-sha-does-not-match-circle-build/4266
chrzaszcz added a commit to esl/MongooseIM that referenced this issue Apr 18, 2023
The python uploader is now phased out [1]

The new uploader is a binary executable for x86-64 (amd64),
so there is no simple way of running it for arm64.
However, the arm64 build for small tests shouldn't affect coverage
anyway (the tests are exactly the same as for amd64), so it is just
skipped for now until the uploader supports this arch, see issue [2]

CODECOV_TOKEN needs to be used now because of issue [3]

1. https://docs.codecov.com/docs/deprecated-uploader-migration-guide#python-uploader
2. codecov/uploader#523
3. https://community.codecov.com/t/commit-sha-does-not-match-circle-build/4266
@thomasrockhu-codecov
Copy link
Contributor

@andyleclair I got a PR out here which will hopefully create the right build.

@andyleclair
Copy link

Nice! I'm out on paternity leave right now, but maybe @humberaquino could test it out for you all if you need that

@thomasrockhu-codecov
Copy link
Contributor

@humberaquino if you're willing

I created an asset here (https://app.circleci.com/pipelines/github/codecov/uploader/4170/workflows/56ff966f-d2b7-43d1-9128-b6a59b0c23ba/jobs/40761/artifacts) named out/codecov-aarch64.

You should be able to download that file, chmod +x <filename>, and run it in CI. Let me know if that solves your issue and we'll work to get it supported.

@AlexWayfer
Copy link

Is there a new release with it?

I mean, especially https://uploader.codecov.io/latest/macos/codecov

I'm getting:

codecov/uploader
/var/folders/s0/b8snf7qj1479hhmzr90n5s4m0000gn/T/scriptsb80b6fb3eabbf315935f249b575dd5ad.sh: line 5: codecov/uploader: cannot execute binary file
Exit status: 126

https://github.com/filewatcher/filewatcher/pull/257/checks?check_run_id=16174741063

@thomasrockhu-codecov
Copy link
Contributor

@AlexWayfer, aarch64 builds are located here: https://uploader.codecov.io/latest/aarch64/codecov

@AlexWayfer
Copy link

@AlexWayfer, aarch64 builds are located here: https://uploader.codecov.io/latest/aarch64/codecov

OK, still the same error: https://cirrus-ci.com/task/5491238154010624

cirrus-ci com_task_5491238154010624 (1)

@thomasrockhu-codecov
Copy link
Contributor

@AlexWayfer did you also run chmod +x ./codecov?

@AlexWayfer
Copy link

@AlexWayfer did you also run chmod +x ./codecov?

Of course, the whole script: filewatcher/filewatcher@fbc99e2#diff-266f128a156070b8d24c519331ba96b1b3ef940eefcdc7b3202c6b0ac88fd29dL13-L23

@thomasrockhu-codecov
Copy link
Contributor

@AlexWayfer I'm not too well-versed with CirrusCI, so I have a few comments, let me know if this makes any sense

  • I don't see a curl -s https://uploader.codecov.io/latest/${CODECOV_OS}/codecov -o codecov/uploader line or a populate_script line item. It does say populate_script_cache. Could that be the problem?
  • 17Mb seems like the wrong size, it should be closer to 40.5Mb

@AlexWayfer
Copy link

@AlexWayfer I'm not too well-versed with CirrusCI, so I have a few comments, let me know if this makes any sense

  • I don't see a curl -s https://uploader.codecov.io/latest/${CODECOV_OS}/codecov -o codecov/uploader line or a populate_script line item. It does say populate_script_cache. Could that be the problem?
  • 17Mb seems like the wrong size, it should be closer to 40.5Mb

Interesting observation.

I had done task cache clearing, probably it has not helped.

Now I've cleared cache of all the project.

https://cirrus-ci.com/task/5628663048175616

image

Do I need to write something more specific? For example, aarch64 instead of ENV variable interpolation. Or some size/checksum outputs.

@fkorotkov, I'd like to see your help if possible.

@AlexWayfer
Copy link

@AlexWayfer I'm not too well-versed with CirrusCI, so I have a few comments, let me know if this makes any sense

  • I don't see a curl -s https://uploader.codecov.io/latest/${CODECOV_OS}/codecov -o codecov/uploader line or a populate_script line item. It does say populate_script_cache. Could that be the problem?
  • 17Mb seems like the wrong size, it should be closer to 40.5Mb

Without cache, explicit script: https://cirrus-ci.com/task/5167047781384192?logs=codecov#L6

39 MB. Still cannot execute binary file.

Similar fresh report: #347 (comment)

AlexWayfer added a commit to filewatcher/filewatcher-access that referenced this issue Sep 27, 2023
AlexWayfer added a commit to filewatcher/filewatcher-access that referenced this issue Sep 27, 2023
@thomasrockhu-codecov thomasrockhu-codecov self-assigned this Sep 28, 2023
@thomasrockhu-codecov
Copy link
Contributor

Going to handle the issue here: codecov/feedback#141

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants