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

Add macOS 13 runner image #6426

Closed
2 of 12 tasks
Brett-Best opened this issue Oct 18, 2022 · 68 comments
Closed
2 of 12 tasks

Add macOS 13 runner image #6426

Brett-Best opened this issue Oct 18, 2022 · 68 comments

Comments

@Brett-Best
Copy link

Brett-Best commented Oct 18, 2022

‼️ 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?

  • Add
  • 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

  • Azure DevOps
  • GitHub Actions

Runner images where you need the tool

  • Ubuntu 18.04
  • Ubuntu 20.04
  • Ubuntu 22.04
  • macOS 10.15
  • macOS 11
  • macOS 12
  • Windows Server 2019
  • Windows Server 2022

Can this tool be installed during the build?

No

Tool installation time in runtime

N/A

Are you willing to submit a PR?

No

@EwoutH
Copy link
Contributor

EwoutH commented Oct 18, 2022

As for the timing of this issue, the macOS 13 Release Candiate and Xcode 14.1 Release Candiate were released today, along with an announcement that Mac App Store submissions are now open for macOS Ventura.

This means developers will want to start testing on macOS 13, both locally and in CI.

@ddobranic
Copy link
Contributor

@EwoutH , thank you for your request. New macOS-12 image with included Xcode 14.1 RC (14B47) is in release process currently.

@Brett-Best
Copy link
Author

Brett-Best commented Oct 20, 2022

@ddobranic this issue is for an macOS 13 image with Xcode 14.1 RC on it - not for the current macOS 12 image.

E.g. in my workflow yml I’d have runs-on: macos-13

I would expect in this directory that a new file named macos-13-Readme.md would need to be created (among other non-trivial things).

@EwoutH
Copy link
Contributor

EwoutH commented Oct 20, 2022

This is the big one that needs to be done for macOS 13: #4062

@3a4oT
Copy link

3a4oT commented Nov 1, 2022

Do we have ETA on this? Would be nice to avoid last year's situation where we weren't able to upgrade to the latest version of Xcode because of latest macOS was not supported.

@mikhailkoliada
Copy link
Contributor

I believe @Steve-Glass may provide more info on ETA

@erencelik
Copy link

Also need ETA, we need Ventura in order to proceed our CI&CD tests

@clayellis
Copy link

I don't want to just spam with "same" — but same. We have had to temporarily set up a self-hosted runner to unblock ourselves.

@cagri21
Copy link

cagri21 commented Nov 2, 2022

I also don’t want to spam but we also need Ventura in order to proceed our CI&CD tests

@halonsoluis
Copy link

halonsoluis commented Nov 7, 2022

With the official release of Ventura (macos13) and Xcode 14.1 this gets even more important. Could we have an ETA and a bit of a push? This ticket has been open for almost a month now and every build using Swift 5.7 features is failing.

EDIT:

macos-12 image has Xcode 14.1, so projects with Swift 5.7 are able to run there.
Notice that macos-latest points to macos11. I read around that this will change soon, but for a safe bet, just use macos-12.

If your project really depends on macos13 features, then we are out of luck for now.

@Brett-Best
Copy link
Author

Two weeks later and no further information provided by GitHub ☹️

@dockay
Copy link

dockay commented Nov 15, 2022

Bump here too, would be nice to have macOS-13 asap.

@hassila
Copy link

hassila commented Nov 16, 2022

Yes, this is a blocker for our projects using Swift 5.7 features - not possible to deploy those on GitHub runners (and we'd like to open source a few things but it'd be great with a working CI pipeline...). So +1.

@halonsoluis
Copy link

Hi @hassila, I had the same issue, but ended up using macos-12 image

  runs-on: macos-12

It has Xcode14, so it's OK to work with.

@hassila
Copy link

hassila commented Nov 16, 2022

No, we use features which are only available with the Ventura Swift runtime (distributed actors, duration/instant/clock, ...) so macos-12 is a no-go unfortunately.

@hakonk
Copy link

hakonk commented Nov 22, 2022

Hi @Steve-Glass ! Any news on the timeline for when MacOs 13 will be made available?

@Steve-Glass
Copy link
Contributor

👋 We are targeting Q2 2023 – Apr-Jun for public beta. The public roadmap will be updated after December 15th with this objective. The plan is to open the beta runner image to all developers without any sign-up process.

@gereons
Copy link

gereons commented Dec 7, 2022

@Steve-Glass thanks for the info. Are there any plans to speed this process up for the predictable upcoming releases of macOS?

@Brett-Best
Copy link
Author

Wow that’s a long time away, while Xcode 14.3 beta isn’t out yet (perhaps next week) previous releases have required the next major OS version. This was an issue with both macOS 11 and macOS 12.

@gereons after delayed releases of macOS 11 and macOS 12, assurances were provided that it would be improved.
Based on the timeline provided, it appears it could actually be worse this time around with macOS 13. 😬

I think it’s fair to conclude GitHub doesn’t prioritise macOS/iOS CI/CD at all.

The comments in #3649 are unfortunately still very relevant.

@halonsoluis
Copy link

Maybe time to consider other options from the competition, many customers of GitHub Actions that need this update will have no other choice.

@sladewatkins
Copy link

👋 We are targeting Q2 2023 – Apr-Jun for public beta. The public roadmap will be updated after December 15th with this objective. The plan is to open the beta runner image to all developers without any sign-up process.

With all due respect @Steve-Glass, this time-frame is when developers focus on the next version of macOS (at this time, 14). I agree with @Brett-Best, who said:

[...] after delayed releases of macOS 11 and macOS 12, assurances were provided that it would be improved.
Based on the timeline provided, it appears it could actually be worse this time around with macOS 13. 😬
I think it’s fair to conclude GitHub doesn’t prioritise macOS/iOS CI/CD at all.

A lot of developers (including myself) need this, in some cases to do our jobs. This deals a massive blow to us.

@lodibrahim
Copy link

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
Copy link

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
Copy link

slajar commented Apr 13, 2023

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

@BenjaminBhuyanYoung
Copy link

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
Copy link

gghart commented Apr 20, 2023

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
Copy link

orschaef commented Apr 21, 2023

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
Copy link
Contributor

Steve-Glass commented Apr 24, 2023

macOS 13 is now available in public beta 🚀

@Steve-Glass
Copy link
Contributor

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

@3a4oT
Copy link

3a4oT commented Apr 24, 2023

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

@billnbell
Copy link

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
Copy link

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
Copy link
Author

@billnbell raise a new issue

@billnbell
Copy link

billnbell commented Apr 25, 2023

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
Copy link

I believe this has the same root cause as actions/setup-python#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
Copy link

gghart commented Apr 25, 2023

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
Copy link

billnbell commented Apr 25, 2023

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
Copy link
Contributor

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.

@actions actions locked as resolved and limited conversation to collaborators Apr 25, 2023
@mikhailkoliada
Copy link
Contributor

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! :)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests