timescale.info
Sign inSign up

How OpenChronology was built

Every merged pull request of openchronology/timeline-app, its first week of commits and its releases; and before them the 2020 PureScript editor, from snapshots of its deleted repositories in the Wayback Machine. Written to this server through the HTTP API.

327 moments · 2020-03-09T00:15:08Z CE – 2026-11-02T20:11:21Z CE · by @athan · @athan

#71 · CI: cache vcpkg sources and builds for desktop packages

  • timeline-app
  • pull request
  • packages

The Windows and macOS desktop packages build GMP and SQLite with vcpkg. Every run currently downloads their sources from upstream again. On #67, every GNU mirror timed out for `gmp-6.3.0.tar.xz` and `automake-1.17.tar.gz`, which failed the Windows build. **Change:** - **Separate cache folder:** `scripts/desktop/{windows,macos}-dependencies` point vcpkg's downloads (`VCPKG_DOWNLOADS`) and binary cache (`VCPKG_DEFAULT_BINARY_CACHE`) at `$RUNNER_TEMP/och-vcpkg-cache`, outside the clone. - **Cache step:** `desktop.yml` restores and saves that folder with `actions/cache` v6.1.0 (pinned by SHA) on Windows and macOS. The key covers the target plus a hash of the dependency scripts (which pin the vcpkg revision) and the triplets, so changing a pin rebuilds. - **Source bundles:** `packages.mjs` reads the source archives from the relocated downloads folder (`OCH_VCPKG_DOWNLOADS`). That keeps them in the `openchronology-native-source-*` bundle that ships GMP and SQLite sources; a binary-only cache would have lost them. **Effect:** - After one successful run per target, builds restore GMP and SQLite instead of downloading and compiling them, so mirror outages no longer fail the build and the jobs get faster. - The first run after this merges still downloads as before. - Linux is unaffected, since it uses distribution packages. I can't run the Windows or macOS jobs locally. This PR's own desktop jobs exercise the cold-cache path, and the next run will show the warm one. Unit tests pass (200).

Sources

Open #71 · CI: cache vcpkg sources and builds for desktop packages in the timeline