Skip to content

ci: drop the duplicate test step and the no-op concurrency flag, group Swift bumps - #16

Merged
k3KAW8Pnf7mkmdSMPHz27 merged 1 commit into
mainfrom
ci/trim-and-group
Oct 3, 2026
Merged

k3KAW8Pnf7mkmdSMPHz27 merged 1 commit into
mainfrom
ci/trim-and-group

Conversation

@k3KAW8Pnf7mkmdSMPHz27

Copy link
Copy Markdown
Owner

Fifth of the refactoring series: CI runs exactly the commands the README lists, and Swift dependency bumps arrive as one PR a week.

Change

  • Warnings are errors in debug builds, set in Package.swift. All four targets get .treatAllWarnings(as: .error, .when(configuration: .debug)). CI's swift test builds debug, so it is now the warnings gate.
  • The -Xswiftc flags are gone from CI. -warnings-as-errors also reached the dependencies. On a newer local toolchain it fails the build on a swift-sdk warning, so the documented CI command could not be run locally. -strict-concurrency=complete is already the default in Swift 6 language mode.
  • The Schema contract tests step is deleted. It re-ran a suite the full test step already covers. The build step is renamed Build (release).
  • Dependabot groups every minor and patch Swift bump into one swift group, instead of grouping only the two Apple packages. Majors still arrive one by one.
  • The README says CI runs swift build -c release and swift test, and nothing else.

The plan had rejected a manifest warnings setting because Homebrew builds from source. The debug condition removes that risk. These behaviours were checked with a scratch package on Swift 6.4:

  • A root debug build fails on a warning.
  • A root release build, which is what the Homebrew formula runs, only reports it.
  • The setting is ignored when the package is consumed as a remote dependency.

Verification

  • swift build -c release is clean.
  • swift test: 66 library tests and 98 server tests pass, now with warnings as errors.
  • The tool-contract snapshot is unchanged.

Mutation record

Mutation Result
Unused let in a library source file swift build fails with error: initialization of immutable value 'unused' was never used. swift build -c release reports the same diagnostic as a warning and completes.
Unused let in a test-target file swift test fails to compile with the same error.
File-scope var leaked: [String] = [] in the library swift build -c release fails with var 'leaked' is not concurrency-safe because it is nonisolated global shared mutable state. Complete checking needs no flag.

All reverted before commit.

Release impact

None. CI, Dependabot, README, and a debug-only build setting. Release builds and the binary are unchanged.

https://claude.ai/code/session_01XR9wyQPT1iM8wzP9hvmYRu

…p Swift bumps

Warnings are errors in debug builds through Package.swift, so CI runs the
same two commands the README lists. The schema contract step re-ran tests
the full run already covers, and strict-concurrency=complete is the
default in Swift 6 language mode. Dependabot opens one grouped PR for
minor and patch Swift bumps.

Claude-Session: https://claude.ai/code/session_01XR9wyQPT1iM8wzP9hvmYRu
@k3KAW8Pnf7mkmdSMPHz27
k3KAW8Pnf7mkmdSMPHz27 merged commit 6f5811e into main Oct 3, 2026
3 checks passed
@k3KAW8Pnf7mkmdSMPHz27
k3KAW8Pnf7mkmdSMPHz27 deleted the ci/trim-and-group branch October 3, 2026 13:07
@eventkit-tap-bumper

Copy link
Copy Markdown

🎉 This PR is included in version 3.0.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant