Open petermetz opened 1 year ago
Currently I am using the js-dependency-extractor
to generate the dependency graph.
Also I had to hard code the test-tooling -> ghcr job mapping (as there is no pattern on either sides)
@petermetz suggestion on this
Yeah, what we need to do is attach some parseable metadata to the job definitions themselves to decouple the job name from the package name (so that they don't have to match). So that the test-tooling job can be called anything, but then the YAML object that defines it has some key like x-pkg-name or something that we parse and then identify/associate the job with the correct package no matter what. This will be needed when we further optimize the CI later on where some packages I will want to break up into multiple jobs to make the test execution more parallelized. A good example of this is the fabric and the corda connectors. Their test cases take almost an hour to run so we have to have multiple jobs for those so that the test cases can run much faster but then we won't be able to use the same job name for these jobs as the package name because it will have to be something unique.
Note to self: There's also this released by GitHub in the meantime(?) => https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore
Description
As a maintainer/contributor I want to have the CI finish in half an hour or less so that I'm not waiting 3 hours (or in some cases days) for the CI to finish running on my pull request.
Related task: https://github.com/hyperledger/cacti/issues/1567 Related task: https://github.com/hyperledger/cacti/issues/2117
Alternative solutions considered:
Acceptance Criteria
Implement a custom script (./
tools/...
that populates the GitHub CI workflow action yaml context with data about the diff that can be leveraged with well crafted if conditions within the yaml files such that: