Skip to content

Conversation

@ssestak
Copy link
Contributor

@ssestak ssestak commented Nov 13, 2025

Summary

This PR adds GitHub Actions workflows for automated testing and linting, following the modern pattern from FTNetworkTracer.

Workflows Added

1. test.yml - Automated Testing

  • Runs on every push to main and all pull requests
  • macOS only (no Linux tests as requested)
  • Path-filtered to run only when relevant files change
  • Executes swift build -v and swift test -v
  • Uses actions/checkout@v4 (latest)

2. lint-swift.yml - Code Quality

  • Runs on all pull requests
  • Executes swiftlint lint --strict (zero tolerance for warnings)
  • Path-filtered for .swift, Package.swift, and .swiftlint.yml changes
  • Installs SwiftLint via Homebrew

3. lint-workflows.yml - Workflow Validation

  • Runs on PRs that modify workflow files
  • Uses actionlint to catch workflow syntax errors
  • Includes problem matcher for IDE integration (.github/actionlint-matcher.json)

Key Features

Path-based filtering - Workflows only run when relevant files change (improves efficiency)
Modern GitHub Actions - Uses actions/checkout@v4
Follows Futured patterns - Consistent with FTNetworkTracer and FTAPIKit
macOS only - No Linux builds as specified
Strict linting - Enforces code quality standards

Inspiration

Workflow structure and patterns inspired by:

🤖 Generated with Claude Code

Added 3 workflow files following FTNetworkTracer's modern pattern:

- test.yml: Runs swift build and swift test on macOS for every push to main and all PRs
  - Path-filtered to run only when Swift files or package configuration changes
  - Uses actions/checkout@v4 (latest stable)
  - Verbose output for debugging

- lint-swift.yml: Runs SwiftLint in strict mode on all PRs
  - Enforces code quality standards
  - Zero tolerance for warnings
  - Path-filtered for efficiency

- lint-workflows.yml: Validates workflow files using actionlint
  - Catches workflow syntax errors and best practice violations
  - Includes problem matcher for IDE integration

All workflows use path-based filtering for efficiency and follow Futured's established patterns from FTNetworkTracer and FTAPIKit repositories.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@ssestak ssestak force-pushed the feature/add-github-workflows branch from 69077ed to 9c7094a Compare November 13, 2025 20:24
@ssestak ssestak requested a review from jmarek41 January 7, 2026 14:09
Copy link
Member

@jmarek41 jmarek41 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👏

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.

3 participants