Skip to content

Commit 2cbb072

Browse files
authored
Merge pull request github#17699 from github/redsun82/swift-6
Swift: make extractor compilable with Swift 6
2 parents 7925044 + 92ec7e8 commit 2cbb072

File tree

113 files changed

+12948
-1141
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

113 files changed

+12948
-1141
lines changed

.gitattributes

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,4 +86,5 @@
8686
/misc/ripunzip/ripunzip-* filter=lfs diff=lfs merge=lfs -text
8787

8888
# swift prebuilt resources
89-
/swift/third_party/resource-dir/*.zip filter=lfs diff=lfs merge=lfs -text
89+
/swift/third_party/resources/*.zip filter=lfs diff=lfs merge=lfs -text
90+
/swift/third_party/resources/*.tar.zst filter=lfs diff=lfs merge=lfs -text

.github/workflows/swift.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,17 +50,10 @@ jobs:
5050
- uses: ./swift/actions/build-and-test
5151
build-and-test-linux:
5252
if: github.repository_owner == 'github'
53-
runs-on: ubuntu-latest-xl
53+
runs-on: ubuntu-22.04
5454
steps:
5555
- uses: actions/checkout@v4
5656
- uses: ./swift/actions/build-and-test
57-
qltests-linux:
58-
if: github.repository_owner == 'github'
59-
needs: build-and-test-linux
60-
runs-on: ubuntu-latest-xl
61-
steps:
62-
- uses: actions/checkout@v4
63-
- uses: ./swift/actions/run-ql-tests
6457
qltests-macos:
6558
if: ${{ github.repository_owner == 'github' && github.event_name == 'pull_request' }}
6659
needs: build-and-test-macos
@@ -109,3 +102,10 @@ jobs:
109102
- uses: actions/checkout@v4
110103
- uses: ./.github/actions/fetch-codeql
111104
- uses: ./swift/actions/database-upgrade-scripts
105+
check-no-override:
106+
if : github.event_name == 'pull_request'
107+
runs-on: ubuntu-latest
108+
steps:
109+
- uses: actions/checkout@v4
110+
- shell: bash
111+
run: bazel test //swift/... --test_tag_filters=override --test_output=errors

MODULE.bazel

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ bazel_dep(name = "gazelle", version = "0.40.0")
2929
bazel_dep(name = "rules_dotnet", version = "0.17.4")
3030
bazel_dep(name = "googletest", version = "1.14.0.bcr.1")
3131
bazel_dep(name = "rules_rust", version = "0.52.2")
32+
bazel_dep(name = "zstd", version = "1.5.5.bcr.1")
3233

3334
bazel_dep(name = "buildifier_prebuilt", version = "6.4.0", dev_dependency = True)
3435

@@ -95,10 +96,12 @@ use_repo(
9596
swift_deps,
9697
"binlog",
9798
"picosha2",
98-
"swift_prebuilt_darwin_x86_64",
99-
"swift_prebuilt_linux",
100-
"swift_toolchain_linux",
101-
"swift_toolchain_macos",
99+
"swift-prebuilt-linux",
100+
"swift-prebuilt-linux-download-only",
101+
"swift-prebuilt-macos",
102+
"swift-prebuilt-macos-download-only",
103+
"swift-resource-dir-linux",
104+
"swift-resource-dir-macos",
102105
)
103106

104107
node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
@@ -190,16 +193,6 @@ lfs_files(
190193
executable = True,
191194
)
192195

193-
lfs_files(
194-
name = "swift-resource-dir-linux",
195-
srcs = ["//swift/third_party/resource-dir:resource-dir-linux.zip"],
196-
)
197-
198-
lfs_files(
199-
name = "swift-resource-dir-macos",
200-
srcs = ["//swift/third_party/resource-dir:resource-dir-macos.zip"],
201-
)
202-
203196
register_toolchains(
204197
"@nodejs_toolchains//:all",
205198
)

misc/bazel/lfs.bzl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,12 @@ def _download_lfs(repository_ctx):
7777
)
7878
repository_ctx.file("BUILD.bazel", build)
7979

80+
# this is for drop-in compatibility with `http_file`
81+
repository_ctx.file(
82+
"file/BUILD.bazel",
83+
'alias(name = "file", actual = "//:%s", visibility = ["//visibility:public"])\n' % name,
84+
)
85+
8086
lfs_archive = repository_rule(
8187
doc = "Export the contents from an on-demand LFS archive. The corresponding path should be added to be ignored " +
8288
"in `.lfsconfig`.",

swift/BUILD.bazel

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
load("@rules_pkg//pkg:mappings.bzl", "pkg_filegroup")
2-
load("//:defs.bzl", "codeql_platform")
32
load(
43
"//misc/bazel:pkg.bzl",
54
"codeql_pack",
@@ -81,7 +80,7 @@ codeql_pack(
8180
zips = select({
8281
"@platforms//os:windows": {},
8382
"//conditions:default": {
84-
"//swift/third_party/resource-dir": "resource-dir/{CODEQL_PLATFORM}",
83+
"//swift/third_party/resources:dir": "resource-dir/{CODEQL_PLATFORM}",
8584
},
8685
}),
8786
)
@@ -90,29 +89,3 @@ alias(
9089
name = "create-extractor-pack",
9190
actual = ":swift-installer",
9291
)
93-
94-
# TODO: following rules are for internal repo backward compatibility only
95-
alias(
96-
name = "extractor-pack-generic",
97-
actual = "swift-generic",
98-
visibility = ["//visibility:public"],
99-
)
100-
101-
pkg_filegroup(
102-
name = "resource-dir",
103-
srcs = select({
104-
"@platforms//os:linux": ["@swift_toolchain_linux//:resource-dir-files"],
105-
"@platforms//os:macos": ["@swift_toolchain_macos//:resource-dir-files"],
106-
"@platforms//os:windows": [],
107-
}),
108-
prefix = "resource-dir/" + codeql_platform,
109-
)
110-
111-
pkg_filegroup(
112-
name = "extractor-pack-arch",
113-
srcs = [
114-
":resource-dir",
115-
":swift-arch",
116-
],
117-
visibility = ["//visibility:public"],
118-
)

swift/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,3 +113,8 @@ In particular for breakpoints to work you might need to setup the following remo
113113
### Thread safety
114114

115115
The extractor is single-threaded, and there was no effort to make anything in it thread-safe.
116+
117+
### Updating the swift compiler version
118+
119+
This can only be done with access to the internal repository at the moment. Some (incomplete) instructions are
120+
found [here](third_party/resources/updating.md).

swift/actions/build-and-test/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ runs:
5858
if: ${{ github.event_name == 'pull_request' }}
5959
shell: bash
6060
run: |
61-
bazel test //swift/...
61+
bazel test //swift/... --test_tag_filters=-override --test_output=errors
6262
- name: Evict bazel cache
6363
if: ${{ github.event_name != 'pull_request' }}
6464
shell: bash

0 commit comments

Comments
 (0)