TileDB icon indicating copy to clipboard operation
TileDB copied to clipboard

Refactor, parametrize linux+mac CI, and fan-out back-compat jobs

Open ihnorton opened this issue 3 years ago • 1 comments

This PR refactors the GitHub Actions setup in the following major ways:

  • .github/workflows/full-ci.yml: introduces common entrypoint to triggering all expensive CI jobs, and parametrizing most Linux and macOS jobs.

    Note in particular: this change leads to a single page to see the statuses of all runs for a given CI trigger (push/PR), and to cancel all jobs at once if necessary.

  • .github/workflows/ci-linux_mac.yml: the bulk of the Linux and macOS CI jobs are consolidated into a single parametrized file, reusable workflow file (via workflow_call) with all previously duplicated code moved into common scripts.

  • the backward compatibility workflow now uses a single job to build tiledb_unit. The built binary is stored as a job artifact, and passed to the compatibility version-specific test jobs. Building tiledb_unit only once reduces the job runtime from ~25 min to ~10 for the 15 backward compat job runs.


TYPE: NO_HISTORY

ihnorton avatar Aug 04 '22 15:08 ihnorton

this change leads to a single page to see the statuses of all runs for a given CI trigger

Example: https://github.com/ihnorton/TileDB/actions/runs/2796922943

ihnorton avatar Aug 04 '22 15:08 ihnorton