Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
0ac914f
Create swift.yml
jcmosc Nov 17, 2025
d400aa2
Run Github workflows on macOS 26
jcmosc Nov 17, 2025
37fe9d7
Checkout swiftlang/swift in CI
jcmosc Nov 17, 2025
3fd8daf
Fix GitHub workflow file syntax
jcmosc Nov 17, 2025
c0bcc01
Set working directory in CI
jcmosc Nov 17, 2025
0124b1c
Build the Swift toolchain in CI
jcmosc Nov 17, 2025
9980b24
Try calling utils/update-checkout without ssh
jcmosc Nov 18, 2025
c2978f3
Add working directory to Build toolchain step
jcmosc Nov 18, 2025
87a2add
Clone release/6.2 branch of swift
jcmosc Nov 18, 2025
1d3653c
Add symlinks to swift and llvm build output directories in CI
jcmosc Nov 19, 2025
ce0faf3
Cache toolchain build in CI
jcmosc Nov 19, 2025
ff64e0d
Try building C++ before Swift in CI
jcmosc Nov 19, 2025
9787c3a
Delete build and test steps so cache is populated
jcmosc Nov 19, 2025
717f726
Add back checkout Compute step
jcmosc Nov 19, 2025
db485ac
Build the release version of swift
jcmosc Nov 19, 2025
6029dd5
Use --skip-build and build swift target with Ninja directly
jcmosc Nov 19, 2025
76fafcc
Build swift project in action
jcmosc Nov 21, 2025
48145a0
Run actions/checkout before running local action
jcmosc Nov 21, 2025
554b0e8
Add build cmark step
jcmosc Nov 21, 2025
034d241
Pass correct path to run action
jcmosc Nov 21, 2025
8528cb4
Add shell property to action steps
jcmosc Nov 21, 2025
403a4bd
Skip swift-foundation-icu
jcmosc Nov 21, 2025
09eb213
Use distcc
jcmosc Nov 21, 2025
88ab6b5
Revert "Use distcc"
jcmosc Nov 21, 2025
5ac5676
Run mozilla-actions/sccache-action
jcmosc Nov 21, 2025
5853fc2
Don't pass --skip-build anymore and use --bootstrapping=bootstrapping…
jcmosc Nov 21, 2025
cdd9772
Pass --sccache
jcmosc Nov 21, 2025
16b609a
Change bootstrapping to hosttools
jcmosc Nov 22, 2025
daf6ff9
Add --skip-history to utils/update-checkout
jcmosc Nov 22, 2025
276efbd
Add -no-verify-emitted-module-interface when building Compute target
jcmosc Nov 22, 2025
ff65564
Add Build step
jcmosc Nov 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions .github/actions/build-swift-project-macos/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Build Swift Project

inputs:
checkout-scheme:
description: The schema passed to utils/update-checkout
required: true

runs:
using: "composite"
steps:
- uses: actions/checkout@v4
with:
repository: swiftlang/swift
path: swift-project/swift
- name: Install dependencies
run: brew install ninja sccache
shell: bash
- name: Update checkout
run: |
utils/update-checkout --clone --scheme $CHECKOUT_SCHEME \
--skip-history \
--skip-repository swift-foundation-icu
shell: bash
working-directory: ./swift-project/swift
env:
CHECKOUT_SCHEME: ${{ inputs.checkout-scheme }}
- name: Run sccache-cache
uses: mozilla-actions/[email protected]
- name: Build Swift
run: |
utils/build-script --skip-build-benchmarks \
--swift-darwin-supported-archs "$(uname -m)" \
--release --swift-disable-dead-stripping \
--bootstrapping=hosttools \
--sccache
shell: bash
working-directory: ./swift-project/swift
env:
SCCACHE_GHA_ENABLED: "true"
- name: Create symbolic links to build directories
run: |
mkdir -p build/Default
ln -s ../Ninja-ReleaseAssert/swift-macosx-arm64 build/Default/swift
ln -s ../Ninja-ReleaseAssert/llvm-macosx-arm64 build/Default/llvm
shell: bash
working-directory: ./swift-project
25 changes: 25 additions & 0 deletions .github/workflows/swift.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# This workflow will build a Swift project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-swift

name: Swift

on:
push:
branches: ["main"]
pull_request:
branches: ["main"]

jobs:
build:
runs-on: macos-26

steps:
- uses: actions/checkout@v4
with:
path: Compute
- uses: ./Compute/.github/actions/build-swift-project-macos
with:
checkout-scheme: release/6.2
- name: Build
run: swift build
working-directory: ./Compute
9 changes: 8 additions & 1 deletion Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,14 @@ let package = Package(
.target(
name: "Compute",
dependencies: ["ComputeCxx"],
swiftSettings: [.enableExperimentalFeature("Extern"), .unsafeFlags(["-enable-library-evolution"])]
swiftSettings: [
.enableExperimentalFeature("Extern"),
.unsafeFlags([
"-enable-library-evolution",
// When -enable-library-evolution is specified verify-emitted-module-interface command fails
"-no-verify-emitted-module-interface",
]),
]
),
.testTarget(
name: "ComputeTests",
Expand Down
Loading