[infra] Remove Apple certificate and provisioning profile steps from tests#4320
Merged
Conversation
…tests The iOS, Mac Catalyst, and macOS samples pipeline jobs installed Apple signing certificates and provisioning profiles from secure files before building. These jobs only run simulator/local builds (ios-simulator-64, maccatalyst, and samples), which do not require code signing. Requiring the secure files prevents running the test pipeline on a new pipeline instance that does not have them provisioned. Remove the provisioning-profiles template and its three references so these jobs can run without the Apple secure files. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
📦 Try the packages from this PRWarning Do not run these scripts without first reviewing the code in this PR. Step 1 — Download the packages bash / macOS / Linux: curl -fsSL https://raw.githubusercontent.com/mono/SkiaSharp/main/scripts/get-skiasharp-pr.sh | bash -s -- 4320PowerShell / Windows: iex "& { $(irm https://raw.githubusercontent.com/mono/SkiaSharp/main/scripts/get-skiasharp-pr.ps1) } 4320"Step 2 — Add the local NuGet source dotnet nuget add source ~/.skiasharp/hives/pr-4320/packages --name skiasharp-pr-4320More options
Or download manually from Azure Pipelines — look for the Remove the source when you're done: dotnet nuget remove source skiasharp-pr-4320 |
Contributor
|
📖 Documentation Preview The documentation for this PR has been deployed and is available at: 🔗 View Staging Site This preview will be updated automatically when you push new commits to this PR. This comment is automatically updated by the documentation staging workflow. |
ramezgerges
added a commit
to ramezgerges/SkiaSharp
that referenced
this pull request
Jul 22, 2026
… stages The iOS/Mac Catalyst visual-regression test jobs and the Samples Linux job inherited `preBuildSteps: /scripts/azure-templates-steps-provisioning-profiles.yml` from an earlier visual-regression wiring commit. Main removed that template in mono#4320 ([infra] Remove Apple certificate and provisioning profile steps from tests), so after this branch rebased onto main the Azure Pipelines validator failed instantly on every push: /scripts/azure-templates-jobs-bootstrapper.yml: Could not find /scripts/azure-templates-steps-provisioning-profiles.yml in repository self hosted on https://github.com/ using commit <sha>. GitHub reported the error, "Not Found" Drop the three now-dangling template references (and the empty preBuildSteps: keys they were the only member of). The visual-regression steps were already re-modelled around postBuildSteps that harvest goldens, which is what still needs to run — no other change required.
mattleibow
added a commit
that referenced
this pull request
Jul 22, 2026
…e provisioning) (#4522) [infra] Backport CI fixes to release/4.150.x (#4522) Context: https://dev.azure.com/dnceng-public/public/_build?definitionId=345 Cherry-picks: #4310, #4320 The new public `mono-SkiaSharp` Azure DevOps pipeline (dnceng-public, definition 345) failed on `release/4.150.x` at YAML compile time — the build died in 0s with no timeline before any job ran: The pipeline is not valid. Job native_linux_arm64_linux: Step Docker1 input containerRegistry references service connection skiasharp-docker which could not be found. ... Job native_linux_x86_linux: Step Docker1 ... skiasharp-docker `main` had already dropped that stale dependency, but `release/4.150.x` was cut before those fixes, so every run on the branch was a hard compile failure. This backports the two infra commits needed to make the branch build under the new pipeline. No product code is touched — only pipeline templates (30 deletions). Remove obsolete skiasharp-docker registry auth (#4310) The native bootstrapper only builds a local image from the checked-in Dockerfile and runs it; the private-registry login was obsolete. Removing the 1ES `authenticatedContainerRegistries` entry and the classic `Docker@2 login` task drops the reference to the `skiasharp-docker` service connection, which does not exist in the dnceng-public project. This is the change that lets the pipeline compile. Remove Apple certificate and provisioning profile steps from tests (#4320) With the compile blocker gone, the iOS/macOS/tvOS test jobs would then fail at runtime: `InstallAppleCertificate`/`InstallAppleProvisioningProfile` load secure files (`SkiaSharp iOS Certificate.p12`, etc.) that are not present in the new public project. Dropping those steps (and the now-unused provisioning-profiles template) keeps the test stage runnable. Verified: after both cherry-picks, PR #4522 triggered build 20260722.23, which gets past YAML validation and expands all 12 stages (instead of failing instantly at compile). m151 milestone changes (#4294) were deliberately excluded — 4.150.x stays on m150. Co-authored-by: Matthew Leibowitz <mattleibow@live.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
The iOS, Mac Catalyst, and macOS samples pipeline jobs installed Apple signing certificates and provisioning profiles from secure files before building via the
azure-templates-steps-provisioning-profiles.ymltemplate. This template ran:InstallAppleCertificate@2(iOS + Mac.p12certs)InstallAppleProvisioningProfile@1(iOS, Mac, tvOS profiles)These jobs only run simulator/local builds (
ios-simulator-64,maccatalyst, andsamples), which do not require code signing. Requiring the secure files blocks running the test pipeline on a new pipeline instance that does not have them provisioned.Changes
scripts/azure-templates-steps-provisioning-profiles.ymltemplate (its only usages).preBuildStepsreferences to it inscripts/azure-templates-stages-test.yml:tests_ios_macos(iOS tests)tests_maccatalyst_macos(Mac Catalyst tests)samples_macos(macOS samples build)Unrelated
preBuildSteps(GTK install, Android emulator) were left untouched.preBuildStepsdefaults to[]in the bootstrapper template and is only emitted when non-empty, so removing the key is safe. YAML validated OK.