Infra: move iOS/Mac Catalyst sample CI jobs from macos-15 to macos-26
Mantenedores costumam responder em até 1 dia
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
Read the three named workflows: build-samples-todoapp-maui.yml, build-samples-todoapp-avalonia.yml, and build-samples-todoapp-uno.yml. Update their runner settings and explanatory comments, then dispatch build-samples.yml on a fork to check that the iOS and Mac Catalyst jobs acquire runners and pass. The issue also links open PR #626, so check its status before starting.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Summary
Move the macOS jobs in the sample build workflows from macos-15 to macos-26, and re-evaluate the iOS workload / Xcode pins that exist only because of macos-15.
Background
- While validating #617 (PR #621), three jobs in the
Build Samplesworkflow never started:todoapp-maui / ios,todoapp-avalonia / iosandtodoapp-uno / ios-maccatalyst. GitHub reportedThe job was not acquired by Runner of type hosted even after multiple attempts, with the annotationDue to capacity constraints, jobs targeting macOS arm64 runners may experience longer queue times.A rerun of the failed jobs hit the same error. See run 42231478149. - The runner-images macOS directory lists
macos-26as the newest generally available image (macOS 26.6.2) and a separatexcode-27-arm64image (macOS 27, Xcode 27 public preview). - Newer images are likely, but not guaranteed, to have more spare runner capacity than
macos-15. GitHub does not publish pool sizes, so this needs to be confirmed empirically.
Why the current setup is constrained by macos-15
The three iOS jobs (build-samples-todoapp-maui.yml, build-samples-todoapp-avalonia.yml, build-samples-todoapp-uno.yml) all use runs-on: macos-15 and carry workarounds from #529 and #559:
WorkloadSetVersion: '10.0.107', pinned because newer sets (10.0.108+) need the iOS SDK 26.5 pack, which requires Xcode 26.5.RequiredXcodeVersion: '26.3'plus asudo xcode-select -sstep, because themacos-15default Xcode is 16.4 and its newest Xcode is 26.3.
The macos-26 image (20261026.0455.2) installs Xcode 26.0.1, 26.1.1, 26.2, 26.3, 26.4.1, 26.5 and 26.6 (default). Xcode 26.5 is the version that #529 and #559 found missing, so the workload-set pin may no longer be needed.
Proposed change
- Change
runs-on: macos-15toruns-on: macos-26in the three workflows above. - Update the explanatory comments, which currently refer to
macos-latestmigrating and tomacos-15. - Decide on the workload / Xcode strategy:
- Minimal: keep
WorkloadSetVersion: '10.0.107'andRequiredXcodeVersion: '26.3'(Xcode 26.3 is still installed onmacos-26). This only changes the runner. - Follow-up: remove the
10.0.107pin and select Xcode 26.5 or newer, so CI tracks the current .NET iOS SDK pack. Do this only if the iOS builds still pass.
- Minimal: keep
- Dispatch
build-samples.ymlon the fork and confirm that theiosandios-maccatalystjobs start (acquire a runner) and pass.
Out of scope
- Xcode 27 / the
xcode-27-arm64image. It is a public preview and is not yet a standardruns-onlabel. Revisit once it is generally available. - Linux and Windows runner changes (Ubuntu was handled in #612).
Acceptance criteria
- No
macos-15references remain in.github/workflows/. Build Samplespasses on the fork, including the iOS and Mac Catalyst jobs.- Comments in the workflows accurately describe the runner and Xcode choices.
Risks
macos-26may have its own capacity constraints; this is not known until tried.- The default Xcode, the OpenSSL default (3 to 4, see runner-images#14856) and tool versions differ from
macos-15; the iOS builds should be re-verified.
- Linguagem predominante
- C#
- Estrelas
- 184
- Forks
- 48
- Merge médio
- 12min
- PRs com merge (30d)
- 21
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de CommunityToolkit/Datasync
-
Examples
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
CommunityToolkit/Datasync#628 ·
Mantenedores costumam responder em até 1 dia
-
Infrastructure
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 57/100
CommunityToolkit/Datasync#627 ·
Mantenedores costumam responder em até 1 dia
-
dependencies Infrastructure
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 25/100
CommunityToolkit/Datasync#618 ·
Mantenedores costumam responder em até 1 dia
-
Blocked dependencies Infrastructure
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 58/100
CommunityToolkit/Datasync#610 ·
Mantenedores costumam responder em até 1 dia
-
Blocked dependencies Server
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
CommunityToolkit/Datasync#594 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de CommunityToolkit/Datasync
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 77/100
BEagle1984/silverback#280 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 63/100
-
Status: Needs Triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
PSAppDeployToolkit/PSAppDeployToolkit#2392 ·
Mantenedores costumam responder em até 1 dia
-
Playground selection bar: comes back after Apply or scrolling while focus is in the Markdown paneAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
sillsdev/SIL.TextEditing#175 ·
Mantenedores costumam responder em até 1 dia
-
needs attention untriaged
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3666 ·
Mantenedores costumam responder em até 3 dias