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 GitHub Actions ARM runners #218

Closed
Tracked by #152 ...
aaomidi opened this issue Aug 15, 2024 · 9 comments · Fixed by #233
Closed
Tracked by #152 ...

Support GitHub Actions ARM runners #218

aaomidi opened this issue Aug 15, 2024 · 9 comments · Fixed by #233
Labels
enhancement New feature or request

Comments

@aaomidi
Copy link

aaomidi commented Aug 15, 2024

/home/runner/work/_temp/b1d5f4e4-9e42-492a-b074-ae4e66c473a0.sh: line 1: /home/runner/bin/coveralls: cannot execute binary file: Exec format error
@afinetooth
Copy link
Member

@aaomidi We are working on this right now and hope to deliver that support this week.

You can track the issue in this issue (coverage-reporter #137) on our repo for the GitHub Actions's underlying executable, coverage-reporter. That is the executable that needs the ARM64 support.

We have had more trouble than expected with this, so if not this week, we would hope to resolve by next week sometime.

@aaomidi
Copy link
Author

aaomidi commented Aug 29, 2024

Did this get resolved? I see that the binary is now being built for ARM too?

@afinetooth
Copy link
Member

afinetooth commented Aug 30, 2024

Hi @aaomidi. Not quite yet. But we're close.

We've tried to cut a release with arm64 binaries twice now that we've pulled for issues discovered after the fact, so we are now adding more verification steps to our CI/CD process.

We genuinely hope to have it out today, but if not, then by Mon.

@OJFord
Copy link

OJFord commented Sep 4, 2024

@afinetooth Will we need to change anything to use it, or will it just start working, automatically using the right binary for an existing uses: coverallsapp/githubaction@v2?

@afinetooth
Copy link
Member

afinetooth commented Sep 4, 2024

Hi @OJFord.

We plan to make three (3) updates in this order and timeframe.

  1. This week - We'll cut a new release of coverage-reporter itself, which will include a new linux binary for aarch64 and provide instructions in its README for how to install and run that version.
  2. This week or next week - We'll cut new releases of our github-action and orb with new input options to specify which version of coverage-reporter to use.
  3. Next 4-6 weeks - We'll cut new releases of our github-action and orb that will automatically select the right version of coverage-reporter based on both runner OS and architecture (If possible. We have not validated this yet.)

So, until we can release (2) you won't have the option in the github-action; you would need to drop down to using the coverage-reporter directly until (2) is available.


Update

These timing were way off (apologies). For updates, see below.

@afinetooth
Copy link
Member

afinetooth commented Oct 4, 2024

@aaomidi @OJFord

Wanted to let you know that we released v0.6.15 of coverage-reporter, which includes a statically-compiled binary for Linux (aarch64).

Download & install the aarch64 version like this:

curl -L https://coveralls.io/coveralls-linux-aarch64.tar.gz | tar -xz -C /usr/local/bin

Usage:

No differences in usage beyond downloading the correct tar.gz archive:

  1. Download & install the correct archive: Follow the same install instructions for Linux that you'll find in the coverage-reporter README, just use the appropriate filename, which you can find in these release assets.
  2. Use as normal after installation: All .tar.gz archives from all new releases, regardless of filename, will un-tar as a binary named coveralls so the binary is ready to receive the commands covered in our standard usage instructions.

Other notes:

  • Testing of new multi-arch binares: Each newly-created RC binary is tested right after it's created in CI (the aarch64 version is tested in QEMU) against all supported coverage report formats.
  • This update mirrors this comment on a parallel issue in our coverage-reporter project.

Usage for Coveralls GitHub Action (Coming Soon)

  • Currently unavailable:
    • Working on it next. Until then, some notes:
      • When runner.os == 'Linux', the github-action currently retrieves coveralls-linux, a generically named binary that represents the x84-64 version.
      • The currently available input option coverage-reporter-version will not specify platform/architecture, only release-number (ie. v0.6.15).
      • We'll be releasing a new input option for platform/architecture, which, for now, will only apply when runner.os = 'Linux' and will take as input, either: [x86_64 (default) | aarch64]

@aaomidi
Copy link
Author

aaomidi commented Oct 5, 2024

Woot! Thank you for your hard work here :)

@afinetooth
Copy link
Member

@aaomidi thanks.

And thanks for your patience. We'll get the new input option for the github-action out as soon as we can.

@afinetooth
Copy link
Member

@aaomidi release v2.3.4 of the github-action now supports the coverage-reporter-platform input option, with values of [x86_64 | aarch64 (or arm64)].

Please let me know if you have any issues.

BTW, you can access the latest version of the github-action (in this case v2.3.4) simply by continuing to use coverallsapp/github-action@v2 in your workflows.

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

Successfully merging a pull request may close this issue.

3 participants