Skip to content

Linux aarch64 - #78

Open
whitty wants to merge 4 commits into
jwlawson:masterfrom
whitty:linux-aarch64
Open

Linux aarch64#78
whitty wants to merge 4 commits into
jwlawson:masterfrom
whitty:linux-aarch64

Conversation

@whitty

@whitty whitty commented Jun 3, 2025

Copy link
Copy Markdown

This is an extension of the comments in #74

In its current form it is incomplete, though enough to get my arm64 linux pipeline working, though it breaks MacOS. I'm raising this in the broken state to get help with how to resolve the issues. They are:

  1. I'm a C++ developer - I couldn't find documentation on the node/ts API for accessing entries such as ${{ runner.arch }} programmatically - so I hacked it in with an input using a default.
  2. It seems like the existing code basically says "if its arm its macos", and "if its macos its ok to run x86_64". This would be why my changes break the OSX builds. This could be resolved if I could access ${{ runner.os }} - or with a general rework.

Comment thread __tests__/version.test.ts
Comment on lines 298 to +301
expect(macosAsset).toEqual({
name: 'cmake-3.19.3-Linux-aarch64.tar.gz',
platform: 'linux',
arch: '',
arch: 'arm64',

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

This macos switch is indicative of the "macos == non-x86" issue. I don't really know how to work around it

Comment thread action.yml
Comment on lines +13 to +15
arch-series:
description: 'Architecture series - could be x86, x86_64, arm, arm64 - defaults to arch of runner'
default: '${{ runner.arch }}'

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

This is only here to force runner.arch to be available - if you know how to query it from ts please let me know and I'll rework it

@QuentiumYT

Copy link
Copy Markdown

Very nice, i had a look and it looks good to me :)

@QuentiumYT

Copy link
Copy Markdown

Well I tested on a workflow and got this issue
 Error: Could not find linux asset for cmake version 3.18.6
Run whitty/actions-setup-cmake@linux-aarch64
with:
cmake-version: 3.18
github-api-token: ***
use-32bit: false
arch-series: ARM64

Maybe this specific version isn't available? https://github.com/Quentium-Forks/nvtop/actions/runs/17033572992/job/48280987223

@QuentiumYT

Copy link
Copy Markdown

For an answer to my previous comment, ARM builds of CMake are only available since 3.19.3, so use this version.
@whitty maybe add a warning or cancel the job if it's below this version to prevent unavoidable fail :)

@akshaybabloo

Copy link
Copy Markdown

Any update on this?

@jwlawson

Copy link
Copy Markdown
Owner

I'm sorry I didn't see this PR. The recent changes by @tomjakubowski have been merged that should provide support for arm on linux, and available in v2.1

@QuentiumYT

Copy link
Copy Markdown

The PR merged does check the architecture automatically, maybe this should be documented in the README. Also We should warn users that arm64 is only available since CMake version 3.19.3 and windows arm is only available since CMake version 3.24.0 :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants