Skip to content

Set up GitHub Actions for tests, lint, and formatting - #2

Merged
davbeck merged 5 commits into
mainfrom
codex/github-actions
Oct 14, 2026
Merged

davbeck merged 5 commits into
mainfrom
codex/github-actions

Conversation

@davbeck

@davbeck davbeck commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

SimpleHTML currently has no GitHub Actions checks. Add test, lint, and automatic formatting workflows using the patterns from pro-crud and swift-glob.

  • Run the full macOS suite on the xcode-27 preview runner and the full iOS suite on iPhone 17 / iOS 26.5 with Xcode 26.6, matching the checked-in image baselines. Retain failed macOS images and iOS test results as artifacts.
  • Pin SwiftFormat 0.62.1 and SwiftLint 0.65.0 as package plugins, with bin/format and bin/lint helpers. Check production code for forced operations and unsafe concurrency overrides.
  • Automatically commit Swift formatting on branch pushes using the default GitHub token. Run tests and lint for PRs and pushes to main; support manual runs and cancel superseded runs.

Make macOS behavior snapshots explicitly render at 2× in their original color space so they also pass on a runner without a Retina display. Documentation snapshots require every pixel to match with a perceptual color precision of 0.99: downloaded runner images differ from the references in only 5–41 channel bytes per image, each by one value. Behavior snapshots keep exact comparisons. Build iOS tests with a deployment target of 16 for their SwiftUI modifiers; the library's iOS 15 minimum stays unchanged.

Mechanical formatting is isolated in the first commit. No snapshot references were regenerated. Contributor documentation includes the tooling commands, runner versions, and image-comparison behavior.

Validation: all four GitHub checks passed on the final revision: macOS and iOS tests, SwiftLint, and automatic formatting. The full local macOS and iOS suites also passed, SwiftLint reported zero violations, and SwiftFormat's lint mode passed. Actionlint passed with its outdated xcode-27 label warning excluded; the runner label was verified by the successful macOS job.

@davbeck
davbeck merged commit 88478ba into main Oct 14, 2026
4 checks passed
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