Commit Graph
7169 Commits
Author SHA1 Message Date
Danny Mösch 06c00f9a32 Test release archive in build 2025-09-06 16:06:15 +02:00
Danny Mösch 5e6e59f212 Rewrite quick_discouraged_call rule with SwiftSyntax (#6237) 2025-09-06 14:10:38 +02:00
Danny Mösch 6c28c79acd Add test sources to release archive (#6236)
Leftover from 819fbaf786.
2025-09-05 21:45:15 +02:00
Danny Mösch 819fbaf786 Add CoreTests to Xcode test targets 2025-09-05 18:39:45 +02:00
Danny Mösch 93df948139 Export BUILD files to access them in the release step 2025-09-05 18:39:24 +02:00
Danny Mösch 54646f4424 Expose only TestHelpers and ExtraRulesTests as part of Bazel releases (#6235) 2025-09-05 17:30:12 +02:00
Sebastian Shanus 549e470ef8 Include .bzl dependency files in release package (#6225)
Bumping to `0.60.0` and trying to run `bazel test "@SwiftLint//Tests:ExtraRulesTests"` revealed the issue:
```
ERROR: error loading package '@@swiftlint~//Tests': cannot load '@@swiftlint~//Tests:generated_tests.bzl': no such file
```
2025-09-05 00:13:19 +02:00
Danny Mösch 4859fa8e82 Ensure that headers matched against always end in a newline (#6234) 2025-09-04 23:09:35 +02:00
Danny Mösch 087278c052 Introduce new CoreTests module (#6233)
It's supposed to test code from SwiftLintCore.
2025-09-04 20:56:51 +02:00
Danny Mösch 14652dbb8b Do not try to copy binary again 2025-09-04 11:06:04 +02:00
Danny Mösch b58b8401a0 Improve detection of comment-only lines in file_length rule (#6231) 2025-09-04 10:27:26 +02:00
Danny Mösch 764a9bbeb1 Build static binaries from release branch 2025-09-03 23:49:48 +02:00
Danny Mösch b97f63a89d Properly detect comment-only lines (#6230) 2025-09-03 23:42:04 +02:00
Danny Mösch 233908e28c Treat strings with opening and closing quotes in the same line as single-line strings (#6229) 2025-09-03 22:29:33 +02:00
Danny Mösch 6946309f9b Consider other expression types before function calls (#6226) 2025-09-03 14:33:10 +02:00
Danny Mösch 57d6752a2a Merge function_name_whitespace and operator_whitespace rules (#6217) 2025-09-03 00:34:22 +02:00
Danny Mösch 6a51f75361 Remove release rule that isn't functional anymore 2025-09-02 23:30:53 +02:00
Danny Mösch bd829b5eb4 Simplify folder structure for release artifacts 2025-09-02 23:30:53 +02:00
Danny Mösch 0f91017259 Add static Linux binaries to release archives (#6218) 2025-09-02 22:20:00 +02:00
Danny Mösch 367fd13ae7 Combine build jobs using matrix strategy 2025-08-31 17:32:29 +02:00
Danny Mösch a1342620c2 Clarify which tests to run 2025-08-31 16:00:10 +02:00
Rodion IvashkovandDanny Mösch 91b26549c4 Add function_name_whitespace rule to validate and autocorrect spacing around function names (#6156)
Co-authored-by: Danny Mösch <danny.moesch@icloud.com>
2025-08-30 10:40:44 -04:00
Danny Mösch 77050e8c40 Enable a fully statically linked Linux executable (#6211)
If SwiftLint is built from this state using the Swift SDK, we'll get a
large self-contained Linux executable that runs without loading SourceKit.
It can do that by disabling any rule that requires SourceKit.

With `SWIFTLINT_DISABLE_SOURCEKIT` set on a normally (dynamically linked)
binary, the behavior is the same. That's different from the previously
reported more serious warnings.
2025-08-30 10:02:38 -04:00
Danny Mösch da74086498 Revert "Pass only relevant secret"
This reverts commit 6c8468a491.
2025-08-30 15:21:38 +02:00
Danny Mösch 6c8468a491 Pass only relevant secret 2025-08-30 15:18:00 +02:00
Danny Mösch d11a65bfa5 Pin actions to specific SHAs 2025-08-30 15:18:00 +02:00
Danny Mösch 98c30205af Avoid storing Git credentials on disk if not required by follow-up steps 2025-08-30 15:18:00 +02:00
Danny Mösch 96df29d72c Remedy risk of template code injection 2025-08-30 15:18:00 +02:00
Danny Mösch d5ad845db7 Bump Cocopods' deployment targets to the least version supported (#6214) 2025-08-30 12:19:09 +00:00
Danny Mösch ba500d31a2 Remove unused code (#6208)
All the code has a relation to former SourceKit-based rules.
2025-08-30 14:09:07 +02:00
Danny Mösch bcd1f71867 Add new changelog section 2025-08-30 11:39:49 +00:00
Danny Mösch a351a0dea2 Release 0.60.0 0.60.0 2025-08-30 11:39:42 +00:00
Danny Mösch 21942bd3cc Prepare 0.60.0 release 2025-08-30 11:27:51 +00:00
Danny Mösch 7624586c18 Maintain SourceKit-mode as long as custom rules don't support SwiftSyntax (#6212) 2025-08-30 09:42:52 +02:00
Danny Mösch 8ada387884 Ignore locally defined count identifiers in empty_count rule (#6202) 2025-08-24 14:08:40 -04:00
Danny Mösch 025a7bfd64 Prefer short and readable repository names (#6205) 2025-08-24 18:03:30 +02:00
Danny Mösch ae388f9ae6 Sort arguments according to their definition (#6204) 2025-08-24 08:46:48 -04:00
Danny Mösch e7108ec2ea Mention performance improvements in changelog 2025-08-24 14:18:12 +02:00
Danny Mösch 81e99e973f Use SwiftSyntax 6.2 pre-release 2025-08-11 (#6185) 2025-08-24 14:16:01 +02:00
Danny Mösch 61507218f7 Exclude explicit system modules from duplicate_imports analysis (#6203) 2025-08-24 09:40:44 +02:00
Matt Thompson 2cfb4c2068 Apply private_swiftui_state rule to ViewModifier types (#6200) 2025-08-23 12:05:49 +02:00
Danny Mösch b766f27d77 Strip Linux binary 2025-08-21 22:19:45 +02:00
Danny Mösch d38f9d4ca3 Use Swift 6.1.2 as Docker base (#6198) 2025-08-21 15:21:30 +02:00
Danny Mösch d1913407c4 Provide separate Linux release archives 2025-08-20 20:21:57 +02:00
Danny Mösch 2a6092c213 Fix artifact paths 2025-08-20 18:46:55 +02:00
Danny Mösch 8b57d4c7c7 Install dependencies required by statically linked Linux binaries 2025-08-20 18:10:41 +02:00
Danny Mösch 32bbc5b6d6 Inline Docker build script (#6196)
With #6193, both Docker variants are built on different machines, so
that not both binaries need to be handled at once.

Since the binaries are not used as release artifacts anymore, dynamic
linking should be fine as well.
2025-08-20 18:06:52 +02:00
Danny Mösch 39646724dd Build Linux releases with SPM and static linking
Bazel does not support that yet, so the whole Swift standard library
would be required to run the binary.
2025-08-19 23:23:09 +02:00
Danny Mösch ede20069e7 Split Docker workflow to build for different platforms in parallel (#6193)
* Split Docker build to avoid slow cross-compilation
* Push digests of intermediate builds only
* Inline permissions to have them more fine-grained
* Build on runners matching the platform to compile for
* Run on every push to main
* Extract build steps into reusable action
2025-08-17 22:30:55 +02:00
Danny Mösch e75981494f Build Linux binaries for releases without Docker (#6192)
Given that Swift is installed on Linux runners and there are ARM runners
available, too, we can just build the binaries directly with Bazel and
not rely on Docker.

The Docker images will be created post-release now as additional release
artifacts and not as prerequisites for other artifacts.
2025-08-16 19:36:43 +02:00