WorkflowScripts\ExtensionReleaseFastPathWorkflowTests.cs (56)
22Assert.Equal("boolean", Scalar(input, "type"));
23Assert.Equal("false", Scalar(input, "default"));
43var condition = Scalar(Mapping(s_testJobs, jobName), "if") ?? string.Empty;
54Assert.Equal("windows-latest", Scalar(job, "runs-on"));
56var condition = CollapseWhitespace(Scalar(job, "if"));
78steps.Select(step => Scalar(step, "name")));
80var runTests = Assert.Single(steps, step => Scalar(step, "name") == "Run tests");
81Assert.Equal("corepack yarn test", Scalar(runTests, "run"));
89var overrideVersion = Assert.Single(steps, step => Scalar(step, "name") == "Override extension version for PR builds");
92Scalar(overrideVersion, "if"));
105var step = Assert.Single(steps, candidate => Scalar(candidate, "name") == stepName);
106Assert.Equal("${{ !inputs.extensionReleaseOnly && !cancelled() }}", Scalar(step, "if"));
114var failureStep = Assert.Single(Steps(results), step => Scalar(step, "name") == "Fail if any dependency failed");
115var condition = CollapseWhitespace(Scalar(failureStep, "if"));
160var failureStep = Assert.Single(steps, step => Scalar(step, "name") == "Fail if any dependency failed");
164step => Assert.Contains("!inputs.extensionReleaseOnly", Scalar(step, "if") ?? string.Empty, StringComparison.Ordinal));
171Assert.Equal("read", Scalar(workflowPermissions, "actions"));
172Assert.Equal("read", Scalar(workflowPermissions, "contents"));
185Assert.All(requiredPermissions, permission => Assert.Equal(Scalar(normalPermissions, permission), Scalar(releasePermissions, permission)));
240var classifierIndex = steps.FindIndex(step => Scalar(step, "id") == "classify_release_pr");
241var changedFilesIndex = steps.FindIndex(step => Scalar(step, "id") == "check_for_changes");
247Assert.Equal("Checkout trusted extension release classifier", Scalar(trustedCheckout, "name"));
248Assert.Equal("${{ github.event_name == 'pull_request' }}", Scalar(trustedCheckout, "if"));
249Assert.Equal("true", Scalar(trustedCheckout, "continue-on-error"));
252Scalar(trustedCheckout, "uses"));
255Assert.Equal("${{ github.event.pull_request.base.sha }}", Scalar(checkoutInputs, "ref"));
256Assert.Equal(".trusted-extension-release-classifier", Scalar(checkoutInputs, "path"));
257Assert.Equal("false", Scalar(checkoutInputs, "persist-credentials"));
260Assert.Equal("true", Scalar(classifier, "continue-on-error"));
263Scalar(classifier, "uses"));
270var classifier = Assert.Single(Steps(prepareForCi), step => Scalar(step, "id") == "classify_release_pr");
284Assert.Equal("${{ github.repository }}", Scalar(inputs, "repository"));
285Assert.Equal("${{ github.event.pull_request.base.ref }}", Scalar(inputs, "base_ref"));
286Assert.Equal("${{ github.event.pull_request.head.repo.full_name }}", Scalar(inputs, "head_repo"));
287Assert.Equal("${{ github.event.pull_request.head.ref }}", Scalar(inputs, "head_ref"));
288Assert.Equal("${{ github.event.pull_request.user.login }}", Scalar(inputs, "author"));
289Assert.Equal("${{ github.event.pull_request.base.sha }}", Scalar(inputs, "base_sha"));
290Assert.Equal("${{ github.event.pull_request.head.sha }}", Scalar(inputs, "head_sha"));
297var classifier = Assert.Single(Steps(prepareForCi), step => Scalar(step, "id") == "classify_release_pr");
299Assert.Equal("true", Scalar(classifier, "continue-on-error"));
302Scalar(Mapping(prepareForCi, "outputs"), "is_trusted_extension_release_pr"));
305Scalar(Mapping(s_ciJobs, "tests"), "if"),
309Scalar(Mapping(s_ciJobs, "stabilization_check"), "if"),
317Assert.Equal("./.github/workflows/tests.yml", Scalar(normalTests, "uses"));
320Scalar(normalTests, "if"));
323Assert.Equal("./.github/workflows/tests.yml", Scalar(releaseTests, "uses"));
326Scalar(releaseTests, "if"));
327Assert.Equal("true", Scalar(Mapping(releaseTests, "with"), "extensionReleaseOnly"));
335Scalar(Mapping(s_ciJobs, "stabilization_check"), "if"));
346var failureStep = Assert.Single(Steps(results), step => Scalar(step, "name") == "Fail if any of the dependent jobs failed");
354CollapseWhitespace(Scalar(failureStep, "if")));
365Scalar(tracker, "if"));
367var scriptStep = Assert.Single(Steps(tracker), step => Scalar(step, "name") == "File or close the red-main issue");
369Assert.Equal("${{ contains(needs.*.result, 'failure') }}", Scalar(environment, "CI_RED"));
372CollapseWhitespace(Scalar(environment, "CI_GREEN")));