Skip to main content

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