Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 23bc361e772639367b8e12b89addd5e643d0a319
      
https://github.com/WebKit/WebKit/commit/23bc361e772639367b8e12b89addd5e643d0a319
  Author: Brianna Fan <[email protected]>
  Date:   2026-01-21 (Wed, 21 Jan 2026)

  Changed paths:
    M Tools/CISupport/Shared/steps.py
    M Tools/CISupport/Shared/steps_unittest.py
    A Tools/CISupport/safer-cpp-swift-version

  Log Message:
  -----------
  [build.webkit.org] Add steps to checkout and build Swift project
rdar://168242766
https://bugs.webkit.org/show_bug.cgi?id=305604

Reviewed by Aakash Jain.

Create 5 new steps to support checking out the swift-project repository
and build swift on the Safer-CPP queue.

In runtime order:
1. GetSwiftTagName: Retrieve and save the tag of swift we want to build.
2. PrintSwiftVersion: Check if a swift repo exists and print the current tag
                      and swift version if an executable exists.
3. CheckoutSwiftProject: Check out the swift-project/swift.git repo.
4. UpdateSwiftCheckouts: Run utils/update-checkout from swift repo to check out
                         the other necessary repos for building swift.
5. BuildSwift: Run utils/build-script to build the swift toolchain.

* Tools/CISupport/Shared/steps.py:
(PrintSwiftVersion):
(PrintSwiftVersion.__init__):
(PrintSwiftVersion.run):
(PrintSwiftVersion.getResultSummary):
(GetSwiftTagName):
(GetSwiftTagName.__init__):
(GetSwiftTagName.run):
(GetSwiftTagName.getResultSummary):
(CheckOutSwiftProject):
(CheckOutSwiftProject.__init__):
(CheckOutSwiftProject.parseGotRevision):
(CheckOutSwiftProject.doStepIf):
(CheckOutSwiftProject.getResultSummary):
(UpdateSwiftCheckouts):
(UpdateSwiftCheckouts.__init__):
(UpdateSwiftCheckouts.run):
(UpdateSwiftCheckouts.doStepIf):
(UpdateSwiftCheckouts.getResultSummary):
(BuildSwift):
(BuildSwift.__init__):
(BuildSwift.run):
(BuildSwift.getResultSummary):
(BuildSwift.doStepIf):
(UpdateClang.getResultSummary): Remove duplicate step.

* Tools/CISupport/Shared/steps_unittest.py:
(TestPrintSwiftVersion):
(TestPrintSwiftVersion.setUp):
(TestPrintSwiftVersion.tearDown):
(TestPrintSwiftVersion.configureStep):
(TestPrintSwiftVersion.test_success_with_tag_and_executable):
(TestPrintSwiftVersion.test_no_git_repository):
(TestPrintSwiftVersion.test_no_swift_executable):
(TestGetSwiftTagName):
(TestGetSwiftTagName.setUp):
(TestGetSwiftTagName.tearDown):
(TestGetSwiftTagName.configureStep):
(TestGetSwiftTagName.test_success):
(TestGetSwiftTagName.test_failure_empty_file):
(TestCheckOutSwiftProject):
(TestCheckOutSwiftProject.setUp):
(TestCheckOutSwiftProject.tearDown):
(TestCheckOutSwiftProject.configureStep):
(TestCheckOutSwiftProject.test_skipped_already_up_to_date):
(TestUpdateSwiftCheckouts):
(TestUpdateSwiftCheckouts.setUp):
(TestUpdateSwiftCheckouts.tearDown):
(TestUpdateSwiftCheckouts.configureStep):
(TestUpdateSwiftCheckouts.test_success):
(TestUpdateSwiftCheckouts.test_skipped_already_up_to_date):
(TestUpdateSwiftCheckouts.test_failure_with_previous_checkout):
(TestUpdateSwiftCheckouts.test_failure_without_previous_checkout):
(TestBuildSwift):
(TestBuildSwift.setUp):
(TestBuildSwift.tearDown):
(TestBuildSwift.configureStep):
(TestBuildSwift.test_success):
(TestBuildSwift.test_skipped_executable_exists_same_tag):
(TestBuildSwift.test_build_when_tag_changed):
(TestBuildSwift.test_failure_with_previous_checkout):
(TestBuildSwift.test_failure_without_previous_checkout):
* Tools/CISupport/safer-cpp-swift-version: Added.

Canonical link: https://commits.webkit.org/305975@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to