Skip to content

Pin SwiftLint & SwiftFormat via Mintfile#470

Draft
kieran-osgood-shopify wants to merge 1 commit intomainfrom
river/add-mintfile-for-swift-linters
Draft

Pin SwiftLint & SwiftFormat via Mintfile#470
kieran-osgood-shopify wants to merge 1 commit intomainfrom
river/add-mintfile-for-swift-linters

Conversation

@kieran-osgood-shopify
Copy link
Copy Markdown
Contributor

What changes are you making?


PR Checklist

Important

Releasing a new version of the kit?


Tip

See the Contributing documentation for instructions on how to publish a new version of the library.

Copy link
Copy Markdown
Contributor Author

kieran-osgood-shopify commented Apr 22, 2026

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 22, 2026

Coverage Report

Lines Statements Branches Functions
Coverage: 99%
99.53% (212/213) 97.54% (119/122) 100% (61/61)

@kieran-osgood-shopify kieran-osgood-shopify force-pushed the river/add-mintfile-for-swift-linters branch from 94eb1c1 to 94b0aee Compare April 22, 2026 13:29
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the river/migrate-yarn-to-pnpm branch from 675ccbe to 4dc92ca Compare April 22, 2026 13:29
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the river/add-mintfile-for-swift-linters branch from 94b0aee to 8af8997 Compare April 27, 2026 12:02
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the river/migrate-yarn-to-pnpm branch from 4dc92ca to 81ff3f7 Compare April 27, 2026 12:02
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the river/migrate-yarn-to-pnpm branch from 81ff3f7 to 46c8b4f Compare May 1, 2026 10:17
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the river/add-mintfile-for-swift-linters branch 2 times, most recently from ee6c1ad to b1d76a6 Compare May 1, 2026 10:18
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the river/migrate-yarn-to-pnpm branch from 46c8b4f to 05a1ef1 Compare May 1, 2026 10:18
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the river/add-mintfile-for-swift-linters branch from b1d76a6 to ba955c1 Compare May 1, 2026 14:48
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the river/migrate-yarn-to-pnpm branch from 05a1ef1 to afe41c0 Compare May 1, 2026 14:48
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the river/add-mintfile-for-swift-linters branch from ba955c1 to 4c62949 Compare May 1, 2026 14:56
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the river/migrate-yarn-to-pnpm branch from afe41c0 to 64008fd Compare May 1, 2026 14:56
@kieran-osgood-shopify kieran-osgood-shopify changed the base branch from river/migrate-yarn-to-pnpm to graphite-base/470 May 1, 2026 15:38
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the river/add-mintfile-for-swift-linters branch from 4c62949 to 494c2ef Compare May 1, 2026 15:38
@graphite-app graphite-app Bot changed the base branch from graphite-base/470 to main May 1, 2026 15:39
Mirrors the setup in checkout-sheet-kit-swift: the `Mintfile` pins
exact SwiftLint / SwiftFormat versions so local dev and CI always run
the same linter binaries (no more "works on my machine" drift
between whatever brew happens to install and whatever CI has cached).

- Add `Mintfile` pinning `realm/SwiftLint@0.63.2` and
  `nicklockwood/SwiftFormat@0.61.0` (same pins as
  checkout-sheet-kit-swift for consistency across the two kits).
- dev.yml: replace the bare `swiftlint` package with `mint` and
  `xcbeautify`, and add a `mint bootstrap` step so running `dev up`
  installs (or updates) the pinned toolchain into `.mint/`. This also
  fixes the "WARN: SwiftFormat not installed" warning developers were
  hitting — swiftformat wasn't being provisioned at all.
- scripts/lint_swift: invoke `mint run swiftlint` / `mint run
  swiftformat` instead of relying on whatever binary is on PATH.
  Adds the `--verbose` flag that the update-linters workflow uses
  and keeps the same check/fix modes the existing script had.
- .gitignore: ignore `.mint/` (Mint's local-install cache).
- CONTRIBUTING.md: document the Mint-based flow and point at the
  update-linters workflow.

Workflow changes (`.github/workflows/ci.yml` lint job +
`.github/workflows/update-linters.yml`) are included as a patch in
the PR description because the GitHub App pushing this branch
doesn't have the `workflows` permission on this repo.

Requested by Kieran Osgood <kieran.osgood@shopify.com>
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the river/add-mintfile-for-swift-linters branch from 494c2ef to df4801e Compare May 1, 2026 15:39
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