actions / runner-images

GitHub Actions runner images
MIT License
9.31k stars 2.89k forks source link

Add macOS 13 runner image #6426

Closed Brett-Best closed 1 year ago

Brett-Best commented 1 year ago

‼️ The latest update on this issue: https://github.blog/changelog/2023-04-24-github-actions-macos-13-is-now-available/

Tool name

macOS 13

Tool license

https://www.apple.com/au/legal/sla/

Add or update?

Desired version

13 RC (22A379)

Approximate size

No response

Brief description of tool

Latest major macOS version released by Apple.

URL for tool's homepage

https://developer.apple.com/documentation/macos-release-notes/macos-13-release-notes

Provide a basic test case to validate the tool's functionality.

No response

Platforms where you need the tool

Runner images where you need the tool

Can this tool be installed during the build?

No

Tool installation time in runtime

N/A

Are you willing to submit a PR?

No

lodibrahim commented 1 year ago

In a weird position here!! Just finished a contract and acquired 3 Mac minis (MacOS13 ) with MacStadium and realized we don't have a runner image ;( never thought this would be an issue!! is there any workaround for time being??

landsman commented 1 year ago

We are now facing issue with missing Xcode 14.3. Can you please provide image with this version? 🙏

That's because isInspectable is available since iOS 16.4 / Swift 5.8 which is shipped with Xcode 14.3 and GitHub Actions are still on Xcode 14.2

slajar commented 1 year ago

Please add a mac-13 image for azure. It is getting urgent.

BenjaminBhuyanYoung commented 1 year ago

why can't you offer a few machines running macOS 13 and just have an expectation that the runners may be in a queue for a long time? I'd much rather have slow access to macOS 13 and enable Xcode 14.3 than be stuck with macOS 12 and Xcode 14.2.

@eriking This is wonderful feedback! Will take this into consideration as we finalize preparations. If runner availability is a concern, our team will set queue time expectations up front.

Yes please, this would help us a lot.

gghart commented 1 year ago

In the MacOS-13 image, can you make sure to include msbuild 17?

Even though we don't appear to have any blocking dependencies on new libraries in MacOS 13, we can't compile .Net 7 code on MacOS-12 because it only has msbuild 16 which can't target .Net 7.

Like many people commenting above - this seems ridiculously late and is blocking many people..

orschaef commented 1 year ago

Would it perhaps be possible to be a little more precise about the time period? We are now already between Apr - June and it would be helpful for many at least to know whether they now still have to wait 1 week or 2 months.

Update: I know - 3 weeks ago I already mentioned that we all need some patience. I still support that 100%. But some of us at least need some kind of plannability. The least would be: Will it be May or June?

Steve-Glass commented 1 year ago

macOS 13 is now available in public beta 🚀

Steve-Glass commented 1 year ago

macOS 13 is also available for Azure DevOps. Communications will be out this afternoon (EST).

3a4oT commented 1 year ago

Hey @Steve-Glass, thanks for the update. FYI. Seems like the link with "software list" doesn't work.

billnbell commented 1 year ago

OK the Azure Node NVM does not work in the new MacOS 13.

$(Agent.HomeDirectory)/scripts/select-node-version.sh node18

It does not find the select-node-version.sh script. Unsure why.

billnbell commented 1 year ago

Here is what is says

Starting: Select Node.js Version 18
==============================================================================
Task         : Bash
Description  : Run a Bash script on macOS, Linux, or Windows
Version      : 3.214.0
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/bash
==============================================================================
Generating script.
Formatted command: exec bash '/Users/runner/runners/3.218.0/scripts/select-node-version.sh' node18
========================== Starting Command Output ===========================
/bin/bash /Users/runner/work/_temp/c452057d-2519-40d1-8d83-c24d9d2b91f2.sh
/Users/runner/runners/3.218.0/scripts/select-node-version.sh: line 6: /Users/runner/.nvm/nvm.sh: No such file or directory
/Users/runner/runners/3.218.0/scripts/select-node-version.sh: line 15: nvm: command not found
/Users/runner/runners/3.218.0/scripts/select-node-version.sh: line 16: nvm: command not found
/Users/runner/runners/3.218.0/scripts/select-node-version.sh: line 19: nvm: command not found
/Users/runner/runners/3.218.0/scripts/select-node-version.sh: line 19: nvm: command not found
Node version: v18.16.0
npm version: 9.5.1
##[error]Bash wrote one or more lines to the standard error stream.
##[error]/Users/runner/runners/3.218.0/scripts/select-node-version.sh: line 6: /Users/runner/.nvm/nvm.sh: No such file or directory

##[error]/Users/runner/runners/3.218.0/scripts/select-node-version.sh: line 19: nvm: command not found

##[error]/Users/runner/runners/3.218.0/scripts/select-node-version.sh: line 19: nvm: command not found

Finishing: Select Node.js Version 18
Brett-Best commented 1 year ago

@billnbell raise a new issue

billnbell commented 1 year ago

OK but nvm was there in the past.

    "node": {
        "default": "18",
        "nvm_versions": [
            "14",
            "16",
            "18"
        ]
    },

Was in https://github.com/actions/runner-images/blob/main/images/macos/toolsets/toolset-12.json

remyjette commented 1 year ago

I believe this has the same root cause as https://github.com/actions/setup-python/issues/658 . That got sent over to setup-python because I was trying Python, but I don't think that's the right place for it... The issue is the hostedtoolcache isn't populated at all.

gghart commented 1 year ago

Are the msbuild and nuget tasks expected to work on a MacOS-13 agent? 'dotnet publish' runs fine and can build our native Mac Cocoa app, but msbuild and nuget tasks die immediately with a mono not found error.

MSBuild fails with:

[error]MSBuild or xbuild (Mono) were not found on the macOS or Linux agent.

NuGet fails with:

[error]Error: Unable to locate executable file: 'mono'. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.

Not really clear if these tasks are supposed to be used anymore with .Net 5.0+? We used them successfully with .Net 4.7.2, but they've never worked on .Net 6.0 or .Net 7.0. The documentation doesn't seem to say you shouldn't use them anymore, but they don't work on MacOS-12 or MacOS-13 images - but the error is different on both images. On MacOS-12, the errors are related to the TargetFramework attribute, on MacOS-13, they fail with the mono not found error.

billnbell commented 1 year ago

Agreed we need toolcache

I believe the issue is that in the macOS-13 image, the hostedtoolcache has not been populated. For example, https://github.com/actions/runner-images/blob/main/images/macos/toolsets/toolset-13.json has no toolcache entry, compared to https://github.com/actions/runner-images/blob/main/images/macos/toolsets/toolset-12.json which does.

Steve-Glass commented 1 year ago

Hey @Steve-Glass, thanks for the update. FYI. Seems like the link with "software list" doesn't work.

The page should be available now. Please submit a new issue for any concerns with existing software, or requests for new software.

mikhailkoliada commented 1 year ago

Hi All!

We are aware that macOS-13 is still missing lots of software, we are also aware of what is considered the most important and desired ones. We are working on re-adding the software back! Please remember that it is still in the beta phase and things will change.

Thanks for your patience! :)