The intention is to do a comprehensive review of all widely used CI/CD systems and make sure they cleanly fit into the schema.
Lists:
-
- source: git repo on GitHub
- builder:
- orchestrator: hosted
- worker: hosted or custom (called a "runner")
- build steps:
- configuration: source
- id: $WORKFLOW:$JOB (
.github/workflows/$WORKFLOW
) - parameters:
inputs
for workflow_dispatch
- isolation: n/a (self-hosted)
-
- source: git repo on GitLab or GitHub
- builder:
- orchestrator: hosted
- worker: custom (called a "runner")
- build steps:
- configuration: source
- id:
- parameters:
-
Google Cloud Build - Triggers
- source: git repo on GitHub or Google Source Repositories
- source:
- tarball on Google Cloud Storage
- git repo on Google Source Repository or GitHub
(RepoSource)
- NOTE: includes build directory and substitutions!
- NOTE: It's not at all clear what happens when you use the
gcloud
command. I'm guessing it uploads a tarball to GCS?
- builder: single orchestrator, hosted or custom worker
- entry point: Dockerfile or cloudbuild.yaml or cloudbuild.json in any
directory (not sure of precidence). Two types of builds:
- Steps are specified in the API. This doesn't really fit with out
Provenance API and should be relegated to another type of
attestation, if at all.
- manual build
requires
steps
to be listed - triggered
if
steps
is used
- manual build
requires
- Steps are specified in a source file
- triggered
if
filename
is used, which specifies the path to the config
- triggered
if
- Steps are specified in the API. This doesn't really fit with out
Provenance API and should be relegated to another type of
attestation, if at all.
- runs in a Docker container
-
Google Cloud Build - Manual Builds
- fully automated: NO (build steps defined in request)
- out of scope
- source:
- tarball on Google Cloud Storage
- git repo on Google Source Repository or GitHub
(RepoSource)
- NOTE: includes build directory and substitutions!
- NOTE: It's not at all clear what happens when you use the
gcloud
command. I'm guessing it uploads a tarball to GCS?
TODO