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

Feature request: other architectures #101

Closed
dpo opened this issue May 12, 2022 · 12 comments · Fixed by #102
Closed

Feature request: other architectures #101

dpo opened this issue May 12, 2022 · 12 comments · Fixed by #102

Comments

@dpo
Copy link

dpo commented May 12, 2022

It would be useful to select other Julia architectures (e.g., macOS aarch64) to run on self-hosted runners. Would you be open to adding such feature to this action?

@SaschaMann
Copy link
Member

Hi, I'm open to adding them. However, I don't have access to any self-hosted runners or aarch64 macOS hardware, which makes adding and testing archs that aren't available through GitHub's hosted runners impossible on my own.

I'm happy to accept PRs or collaborate on adding them if you have access to the required runners/hardware, though.

@dpo
Copy link
Author

dpo commented May 14, 2022

Great, thank you! Let me try to get a first version going.

@SaschaMann
Copy link
Member

Mosè pointed out on Slack that there isn't a GHA runner for M1 yet: actions/runner#805 (comment)

@SaschaMann
Copy link
Member

These lines would need changing/additions to add support for it:

const archMap = {
'x86': 'i686',
'x64': 'x86_64'
}

if (arch == 'x86') {
throw new Error('32-bit Julia is not available on macOS')
}

I might have missed something and the README would need an update too, so no guarantee for completeness.

@SaschaMann
Copy link
Member

#102 should in theory also enable support for M1 runners, though that should be verified once those are actually available. The only thing left for that would be the addition of a new error branch when trying to install nightlies on M1 macOS, since those don't exist.

@giordano
Copy link
Member

I successfully tested a self-hosted runner on a Macbook M1 with the new runners v2.292.0. I used this script to test an example package:

name: CI
on:
  push:
    branches: ["*"]
    tags: ["*"]
  pull_request:
jobs:
  test:
    name: Julia ${{ matrix.version }} - macOS - ${{ matrix.arch }} - ${{ github.event_name }}
    runs-on: [self-hosted]
    strategy:
      fail-fast: false
      matrix:
        version:
          - 1.7.2
        arch:
          - aarch64
    steps:
      - uses: actions/checkout@v3
      - uses: julia-actions/setup-julia@v1
        with:
          version: ${{ matrix.version }}
          arch: ${{ matrix.arch }}
      - name: Version Info
        shell: julia --color=yes {0}
        run: |
          using InteractiveUtils
          versioninfo()
      - uses: julia-actions/julia-buildpkg@v1
      - uses: julia-actions/julia-runtest@v1

@SaschaMann SaschaMann linked a pull request May 23, 2022 that will close this issue
@SaschaMann
Copy link
Member

It doesn't work properly on macOS yet due to permission errors when copying the files from the attached dmg file. I'll debug this another time. For now be warned that this may not work reliably.

@SaschaMann SaschaMann reopened this May 23, 2022
@giordano
Copy link
Member

giordano commented May 23, 2022

I think this problem is orthogonal to the original issue of being able to install aarch64 binaries, though.

@SaschaMann
Copy link
Member

Good point, I opened #105

@dpo
Copy link
Author

dpo commented Jun 1, 2022

Many thanks for this!!!

I tried with Mosé's script but I get the error in the screenshot. The VersionInfo job doesn't even run.

Screen Shot 2022-06-01 at 12 36 12

Server side, all I see is

% ./run.sh

√ Connected to GitHub

Current runner version: '2.292.0'
2022-06-01 15:47:42Z: Listening for Jobs
2022-06-01 15:48:25Z: Running job: Julia 1.7.3 - macOS - aarch64 - pull_request
2022-06-01 15:48:36Z: Job Julia 1.7.3 - macOS - aarch64 - pull_request completed with result: Failed

Any ideas?

@giordano
Copy link
Member

giordano commented Jun 1, 2022

There is no build of Julia v1.7.3 for that architecture. DON'T USE JULIA v1.7 ON THE M1, IT'S BROKEN. I hope the message is clear

@dpo
Copy link
Author

dpo commented Jun 1, 2022

I know ;-). I'm testing it. Hence this request.

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 a pull request may close this issue.

3 participants