You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Build and export native macOS ARM64 (darwin-arm64) OpenStudio-server tarball in CI for OpenStudio-PAT #884
As part of adding the native macOS ARM64 (Apple Silicon) installer in NatLabRockies/OpenStudio-PAT#311, we investigated the OpenStudio-server-5873e0d21d-darwin-arm64.tar.gz artifact currently uploaded to s3://openstudio-resources/pat-dependencies3/.
Problems with Current OpenStudio-server-5873e0d21d-darwin-arm64.tar.gz Artifact
The existing darwin-arm64 tarball on S3 appears to have been manually packaged from a local rbenv environment rather than built by CI against PAT's portable static Conan Ruby:
Outdated commit/version: Packaged from 5873e0d21d (3.10.0) instead of d6e89510a0 (3.11.0).
Hardcoded local rbenvlibruby link: All 12 compiled .bundle native extensions link against /Users/achapin/.rbenv/versions/3.2.2/lib/libruby.3.2.dylib instead of being built with -Wl,-undefined,dynamic_lookup against PAT's static Conan Ruby (ruby-3.2.2-darwin-arm64.tar.gz).
Mismatched gem extension directory: Native extensions are placed under gems/ruby/3.2.0/extensions/arm64-darwin-24/3.2.0 instead of arm64-darwin-23/3.2.0-static (which PAT's bundled static Ruby expects).
Archive structure & pollution:
Uses ./ path prefixes instead of a top-level OpenStudio-server/ directory.
Contains a nested 88 MB OpenStudio-server-5873e0d21d-darwin-arm64.tar.gz inside itself alongside .git/ and macOS ._* AppleDouble resource fork files.
Required Changes
ci/github-actions/setup.sh:
Detect architecture via uname -m on macOS runners.
Set platform = 'darwin-arm64' when RUBY_PLATFORM =~ /arm64/ so the exported filename is OpenStudio-server-<sha>-darwin-arm64.tar.gz.
Run tar with COPYFILE_DISABLE=1 when creating the archive so ._* AppleDouble files are not included, with a clean top-level OpenStudio-server/ prefix and no nested tarball or .git directory.
CI Workflow (.github/workflows/openstudio-server-tests.yml / build-installers.yml) & S3 Upload:
Add a macos-15 (ARM64) build/export job alongside macos-15-intel (x86_64).
Upload the resulting OpenStudio-server-<sha>-darwin-arm64.tar.gz to s3://openstudio-resources/pat-dependencies3/ and update manifest.json in Create macOS arm installer OpenStudio-PAT#311.
Activity