Skip to content
Snippets Groups Projects
  1. Aug 17, 2023
  2. Aug 16, 2023
  3. Aug 15, 2023
  4. Aug 14, 2023
    • Matthew Pickering's avatar
      ci: Fix job metadata generation · 994a9b35
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      994a9b35
    • Matthew Pickering's avatar
      ci: set -e for lint-ci-config scripts · d54b0c1d
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      d54b0c1d
    • Matthew Pickering's avatar
      gen_ci: Rules rework · f9a5563d
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      In particular we now distinguish between whether we are dealing with a
      Nightly/Release pipeline (which labels don't matter for) and a validate
      pipeline where labels do matter.
      
      The overall goal here is to allow a disjunction of labels for validate
      pipelines, for example,
      
      > Run a job if we have the full-ci label or test-primops label
      
      Therefore the "ValidateOnly" rules are treated as a set of disjunctions
      rather than conjunctions like before.
      
      What this means in particular is that if we want to ONLY run a job if a
      label is set, for example, "FreeBSD" label then we have to override the
      whole label set.
      
      Fixes #23772
      f9a5563d
    • Matthew Pickering's avatar
      gen_ci: Rework how jobs-metadata.json is generated · f17b9d62
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      * We now represent a job group a triple of Maybes, which makes it easier
        to work out when jobs are enabled/disabled on certain pipelines.
      
      ```
      data JobGroup a = StandardTriple { v :: Maybe (NamedJob a)
                                       , n :: Maybe (NamedJob a)
                                       , r :: Maybe (NamedJob a) }
      ```
      
      * `jobs-metadata.json`  generation is reworked using the following
        algorithm.
        - For each pipeline type, find all the platforms we are doing builds
          for.
        - Select one build per platform
        - Zip together the results
      
      This way we can choose different pipelines for validate/nightly/release
      which makes the metadata also useful for validate pipelines. This
      feature is used by the test-primops downstream CI in order to select the
      right bindist for testing validate pipelines.
      
      This makes it easier to inspect which jobs are going to be enabled on a
      particular pipeline.
      f17b9d62
    • Matthew Pickering's avatar
      ci: Always run project-version job · e24e44fc
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      This is needed for the downstream test-primops pipeline to workout what
      the version of a bindist produced by a pipeline is.
      e24e44fc
    • Matthew Pickering's avatar
      Add zstd suffix to jobs which rely on zstd · d6130065
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      This was causing some confusion as the job was named simply
      "x86_64-linux-deb10-validate", which implies a standard configuration
      rather than any dependency on libzstd.
      d6130065
Loading