Building TablePro
Development Builds
Xcode
Cmd+R to build and run
Cmd+B to build only
- Scheme: TablePro, Destination: My Mac
Command Line
Build and run:
-skipPackagePluginValidation is required. CodeEditSourceEditor bundles a SwiftLint plugin that triggers Xcode’s plugin validation on CLI builds.
Release Builds
Output:
The build script handles architecture slicing from universal static libraries automatically.
Native Libraries
Static .a files (libmariadb, libpq, libfreetds, etc.) are hosted on a GitHub Release (tag libs-v1). They are not in git.
Updating Libraries (Maintainers)
When updating a static library:
Creating DMG
Build the release first, then package:
Output:
Code Signing
Development
Unsigned by default. No certificate needed for local testing.
Distribution
Notarization
Clean Build
CI/CD
App Releases
GitHub Actions workflow: .github/workflows/build.yml
Triggered by v* tags (e.g., v0.18.0).
Pipeline: lint -> build arm64 -> build x86_64 -> release (DMG + ZIP + Sparkle signatures)
Release notes are auto-extracted from CHANGELOG.md.
Plugin Releases
Workflow: .github/workflows/build-plugin.yml
Triggered by plugin-*-v* tags (e.g., plugin-oracle-v1.0.0).
GitHub only fires one workflow per multi-tag push. Push plugin tags individually, or use workflow_dispatch with comma-separated tags for bulk releases.
Build Sizes