Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare for release 0.1.0 #83

Merged
merged 5 commits into from
Oct 21, 2022
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,18 +38,19 @@ points for metrics.

## CDEvents Specification

The [CDEvents Specification](./spec.md) is available on our
[website](https://cdevents.dev/docs).
The latest release of the specification is
[v0.1](https://github.com/cdevents/spec/tree/0.1.0/spec.md).
afrittoli marked this conversation as resolved.
Show resolved Hide resolved

The specification is currently draft and not ready for implementation.
We are working towards our
[first release v0.1](https://github.com/orgs/cdevents/projects/1).
You can also preview the ongoing work on the [CDEvents Specification](./spec.md)
on the `main` branch.

e-backmark-ericsson marked this conversation as resolved.
Show resolved Hide resolved
## CDEvents SDKs

CDEvents is developing as set of SDKs:

* [Go](https://github.com/cdevents/sdk-go)
* [Python](https://github.com/cdevents/sdk-python)
* [Java](https://github.com/cdevents/sdk-java)

## Community

Expand Down
6 changes: 1 addition & 5 deletions cloudevents-binding.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,6 @@ description: >
-->
# CloudEvents Binding for CDEvents

__Note:__ This is an __unreleased__, work-in-progress version of the spec,
and is being worked on by members of the CDEvents project.
You are very welcome to [join the work and the discussions](https://github.com/cdevents)!

## Abstract

The CloudEvents Binding for CDEvents defines how CDEvents are mapped to CloudEvents headers and body.
Expand Down Expand Up @@ -104,7 +100,7 @@ Content-Length: nnnn

{
"context": {
"version" : "0.1.0-draft",
"version" : "0.1.0",
"id" : "A234-1234-1234",
"source" : "/staging/tekton/",
"type" : "dev.cdevents.taskrun.started",
Expand Down
2 changes: 0 additions & 2 deletions continuous-deployment-pipeline-events.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ description: >
-->
# Continuous Deployment Events

__Note:__ This is a work-in-progress draft version and is being worked on by members of the Events SIG. You are very welcome to join the work and the discussions!

Continuous Deployment (CD) events are related to continuos deployment pipelines and their target environments. These events can be emitted by environments to report where software artifacts such as services, binaries, daemons, jobs or embedded software are running.

## Subjects
Expand Down
38 changes: 10 additions & 28 deletions continuous-integration-pipeline-events.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ description: >
-->
# Continuous Integration Events

__Note:__ This is a work-in-progress draft version and is being worked on by members of the Events SIG. You are very welcome to join the work and the discussions!

Continuous Integration (CI) events include the subject and predicates related to CI activities such as building software, producing artifacts and running tests.

## Subjects
Expand Down Expand Up @@ -73,7 +71,7 @@ An `artifact` is usually produced as output of a build process. Events need to b

This event represents a Build task that has been queued; this build process usually is in charge of producing a binary from source code.

- Event Type: __`dev.cdevents.build.queued.0.1.0-draft`__
- Event Type: __`dev.cdevents.build.queued.0.1.0`__
- Predicate: queued
- Subject: [`build`](#build)

Expand All @@ -82,13 +80,11 @@ This event represents a Build task that has been queued; this build process usua
| id | `String` | Uniquely identifies the subject within the source. | `1234`, `maven123`, `builds/taskrun123` | ✅ |
| source | `URI-Reference` | [source](../spec.md#source) from the context | | ⚪ |

🚧 The build model is work in progress.

### `build started`

This event represents a Build task that has been started; this build process usually is in charge of producing a binary from source code.

- Event Type: __`dev.cdevents.build.started.0.1.0-draft`__
- Event Type: __`dev.cdevents.build.started.0.1.0`__
- Predicate: started
- Subject: [`build`](#build)

Expand All @@ -97,13 +93,11 @@ This event represents a Build task that has been started; this build process usu
| id | `String` | Uniquely identifies the subject within the source. | `1234`, `maven123`, `builds/taskrun123` | ✅ |
| source | `URI-Reference` | [source](../spec.md#source) from the context | | ⚪ |

🚧 The build model is work in progress.

### `build finished`

This event represents a Build task that has finished. This event will eventually contain the finished status, success, error or failure

- Event Type: __`dev.cdevents.build.finished.0.1.0-draft`__
- Event Type: __`dev.cdevents.build.finished.0.1.0`__
- Predicate: finished
- Subject: [`build`](#build)

Expand All @@ -113,13 +107,11 @@ This event represents a Build task that has finished. This event will eventually
| source | `URI-Reference` | [source](../spec.md#source) from the context | | ⚪ |
| artifactId | `Purl` | Identifier of the artifact produced by the build | `pkg:oci/myapp@sha256%3A0b31b1c02ff458ad9b7b81cbdf8f028bd54699fa151f221d1e8de6817db93427`, `pkg:golang/mygit.com/myorg/myapp@234fd47e07d1004f0aed9c` | ⚪ |

🚧 The build model is work in progress.

### `testCase queued`

This event represents a Test task that has been queued, and it is waiting to be started.

- Event Type: __`dev.cdevents.testcase.queued.0.1.0-draft`__
- Event Type: __`dev.cdevents.testcase.queued.0.1.0`__
- Predicate: queued
- Subject: [`testCase`](#testcase)

Expand All @@ -128,13 +120,11 @@ This event represents a Test task that has been queued, and it is waiting to be
| id | `String` | Uniquely identifies the subject within the source. | `unitest-abc`, `e2e-test1`, `scan-image1` | ✅ |
| source | `URI-Reference` | [source](../spec.md#source) from the context | | ⚪ |

🚧 The testCase model is work in progress.

### `testCase started`

This event represents a Test task that has started.

- Event Type: __`dev.cdevents.testcase.started.0.1.0-draft`__
- Event Type: __`dev.cdevents.testcase.started.0.1.0`__
- Predicate: started
- Subject: [`testCase`](#testcase)

Expand All @@ -143,13 +133,11 @@ This event represents a Test task that has started.
| id | `String` | Uniquely identifies the subject within the source. | `unitest-abc`, `e2e-test1`, `scan-image1` | ✅ |
| source | `URI-Reference` | [source](../spec.md#source) from the context | | ⚪ |

🚧 The testCase model is work in progress.

### `testCase finished`

This event represents a Test task that has finished. This event will eventually contain the finished status: success, error or failure.

- Event Type: __`dev.cdevents.testcase.finished.0.1.0-draft`__
- Event Type: __`dev.cdevents.testcase.finished.0.1.0`__
- Predicate: finished
- Subject: [`testCase`](#testcase)

Expand All @@ -158,13 +146,11 @@ This event represents a Test task that has finished. This event will eventually
| id | `String` | Uniquely identifies the subject within the source. | `unitest-abc`, `e2e-test1`, `scan-image1` | ✅ |
| source | `URI-Reference` | [source](../spec.md#source) from the context | | ⚪ |

🚧 The testCase model is work in progress.

### `testSuite started`

This event represents a Test suite that has been started.

- Event Type: __`dev.cdevents.testsuite.started.0.1.0-draft`__
- Event Type: __`dev.cdevents.testsuite.started.0.1.0`__
- Predicate: started
- Subject: [`testSuite`](#testsuite)

Expand All @@ -173,13 +159,11 @@ This event represents a Test suite that has been started.
| id | `String` | Uniquely identifies the subject within the source. | `unit`, `e2e`, `security` | ✅ |
| source | `URI-Reference` | [source](../spec.md#source) from the context | | ⚪ |

🚧 The testSuite model is work in progress.

### `testSuite finished`

This event represents a Test suite that has has finished, the event will contain the finished status: success, error or failure.

- Event Type: __`dev.cdevents.testsuite.finished.0.1.0-draft`__
- Event Type: __`dev.cdevents.testsuite.finished.0.1.0`__
- Predicate: finished
- Subject: [`testSuite`](#testsuite)

Expand All @@ -188,13 +172,11 @@ This event represents a Test suite that has has finished, the event will contain
| id | `String` | Uniquely identifies the subject within the source. | `unit`, `e2e`, `security` | ✅ |
| source | `URI-Reference` | [source](../spec.md#source) from the context | | ⚪ |

🚧 The testSuite model is work in progress.

### `artifact packaged`

The event represents an artifact that has been packaged for distribution; this artifact is now versioned with a fixed version.

- Event Type: __`dev.cdevents.artifact.packaged.0.1.0-draft`__
- Event Type: __`dev.cdevents.artifact.packaged.0.1.0`__
- Predicate: packaged
- Subject: [`artifact`](#artifact)

Expand All @@ -207,7 +189,7 @@ The event represents an artifact that has been packaged for distribution; this a

The event represents an artifact that has been published and it can be advertised for others to use.

- Event Type: __`dev.cdevents.artifact.published.0.1.0-draft`__
- Event Type: __`dev.cdevents.artifact.published.0.1.0`__
- Predicate: published
- Subject: [`artifact`](#artifact)

Expand Down
12 changes: 5 additions & 7 deletions core.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ description: >
-->
# Continuous Delivery Core Events

__Note:__ This is a work-in-progress draft version and is being worked on by members of the Events SIG. You are very welcome to join the work and the discussions!

Continuous Delivery Core Events include the subjects and predicates related to orchestration of execution required to deterministically and continuously delivery software to users.
Core events are at the lower level of abstraction in the dictionary: they describe the status of an execution, but they don't include any semantic about the function of the execution itself. These events are generated by [pipeline orchestration engines](https://landscape.cd.foundation/card-mode?category=ci-pipeline-orchestration&grouping=category).

Expand Down Expand Up @@ -66,7 +64,7 @@ Due the dynamic nature of Pipelines, most of actual work needs to be queued to
happen in a distributed way, hence queued events are added. Adopters can choose
to ignore these events if they don't apply to their use cases.

- Event Type: __`dev.cdevents.pipelinerun.queued.0.1.0-draft`__
- Event Type: __`dev.cdevents.pipelinerun.queued.0.1.0`__
- Predicate: queued
- Subject: [`pipelineRun`](#pipelinerun)

Expand All @@ -81,7 +79,7 @@ to ignore these events if they don't apply to their use cases.

A pipelineRun has started and it is running.

- Event Type: __`dev.cdevents.pipelinerun.started.0.1.0-draft`__
- Event Type: __`dev.cdevents.pipelinerun.started.0.1.0`__
- Predicate: started
- Subject: [`pipelineRun`](#pipelinerun)

Expand All @@ -96,7 +94,7 @@ A pipelineRun has started and it is running.

A pipelineRun has finished, successfully or not.

- Event Type: __`dev.cdevents.pipelinerun.finished.0.1.0-draft`__
- Event Type: __`dev.cdevents.pipelinerun.finished.0.1.0`__
- Predicate: finished
- Subject: [`pipelineRun`](#pipelinerun)

Expand All @@ -113,7 +111,7 @@ A pipelineRun has finished, successfully or not.

A taskRun has started and it is running.

- Event Type: __`dev.cdevents.taskrun.started.0.1.0-draft`__
- Event Type: __`dev.cdevents.taskrun.started.0.1.0`__
- Predicate: started
- Subject: [`taskRun`](#taskrun)

Expand All @@ -129,7 +127,7 @@ A taskRun has started and it is running.

A taskRun has finished, successfully or not.

- Event Type: __`dev.cdevents.taskrun.finished.0.1.0-draft`__
- Event Type: __`dev.cdevents.taskrun.finished.0.1.0`__
- Predicate: finished
- Subject: [`taskRun`](#taskrun)

Expand Down
34 changes: 25 additions & 9 deletions primer.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: >
A CDEvents primer
---
-->
# CDEvents Primer - Draft
# CDEvents Primer

## Abstract

Expand Down Expand Up @@ -187,7 +187,7 @@ The version of an event is included in its type. This allows for easy filtering
of events of a specific version, by looking at a single field in the context.
Examples of full event versions are:

- `dev.cdevents.build.queued.0.1.0-draft`
- `dev.cdevents.build.queued.0.1.0`
afrittoli marked this conversation as resolved.
Show resolved Hide resolved
- `dev.cdevents.environment.deleted.0.1.0`

### Versioning of the CDEvents specification
Expand All @@ -207,7 +207,7 @@ format `vMajor.Minor.Patch`.
identified by a change in the major version, for instance 0.1.2 -> 2.0.0

While a version of the specification is work in progress, its version is tagged
with an extra `-draft` at the end, for instance 0.1.0-draft.
with an extra `-draft` at the end, for instance 0.1.0.
afrittoli marked this conversation as resolved.
Show resolved Hide resolved

### Development of a new version

Expand Down Expand Up @@ -377,11 +377,6 @@ new tool.

A single consumer may receive events from heterogenous sources.

## Acknowledgments

The initial structure of the CDEvents specification format was based on the
specification of the [CloudEvents](https://github.com/cloudevents/spec) project.

## Use Cases

There are two root use cases that we are considering:
Expand Down Expand Up @@ -409,6 +404,17 @@ There are two root use cases that we are considering:
- Lead time for changes: the amount of time it takes a commit to get into production
- Deployment frequency: how often an organization successfully releases to production

## Terminology

The [CDF Interoperability Special Interest Group][sig-interop] has produced a
[table of the terms][tool-terms] used by different CI/CD tools and how they
related to each other. The SIG is also working on distilling a recommended
e-backmark-ericsson marked this conversation as resolved.
Show resolved Hide resolved
[shared terminology][shared-terms]. CDEvents strives to adopt to the shared
terminology and collaborate with the SIG Interoperability.

Work to align terms to those identified by the SIG will continue in upcoming
e-backmark-ericsson marked this conversation as resolved.
Show resolved Hide resolved
CDEvents releases.

## Design Decisions

### Keys, Values and Types
Expand Down Expand Up @@ -454,6 +460,11 @@ audience of DevOps Engineers, Project Managers/Directors, CTOs, and Cloud
Architects who are interested in learning more about CDEvents, why it was
created and its mission.

## Acknowledgments

The initial structure of the CDEvents specification format was based on the
specification of the [CloudEvents](https://github.com/cloudevents/spec) project.

[workstream]: https://github.com/cdfoundation/sig-interoperability/tree/master/workstreams/archived/events_in_cicd
[sig-interop]: https://github.com/cdfoundation/sig-interoperability
[sig-events]: https://github.com/cdfoundation/sig-events/
Expand All @@ -464,4 +475,9 @@ created and its mission.
https://github.com/package-url/purl-spec/blob/master/PURL-SPECIFICATION.rst
[sig-interop-vocabulary]:
https://github.com/cdfoundation/sig-interoperability/blob/main/docs/vocabulary.md
[dora]: https://cloud.google.com/blog/products/devops-sre/using-the-four-keys-to-measure-your-devops-performance
[dora]:
https://cloud.google.com/blog/products/devops-sre/using-the-four-keys-to-measure-your-devops-performance
[tool-terms]:
https://github.com/cdfoundation/sig-interoperability/blob/main/docs/tools-terminology.md
[shared-terms]:
https://github.com/cdfoundation/sig-interoperability/blob/main/docs/pipelines-terminology.md
6 changes: 3 additions & 3 deletions schemas/artifactpackaged.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://cdevents.dev/0.1.0-draft/schema/artifact-packaged-event",
"$id": "https://cdevents.dev/0.1.0/schema/artifact-packaged-event",
"properties": {
"context": {
"properties": {
"version": {
"type": "string",
"enum": [
"0.1.0-draft"
"0.1.0"
],
"default": "0.1.0-draft"
"default": "0.1.0"
},
"id": {
"type": "string",
Expand Down
6 changes: 3 additions & 3 deletions schemas/artifactpublished.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://cdevents.dev/0.1.0-draft/schema/artifact-published-event",
"$id": "https://cdevents.dev/0.1.0/schema/artifact-published-event",
"properties": {
"context": {
"properties": {
"version": {
"type": "string",
"enum": [
"0.1.0-draft"
"0.1.0"
],
"default": "0.1.0-draft"
"default": "0.1.0"
},
"id": {
"type": "string",
Expand Down
6 changes: 3 additions & 3 deletions schemas/branchcreated.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://cdevents.dev/0.1.0-draft/schema/branch-created-event",
"$id": "https://cdevents.dev/0.1.0/schema/branch-created-event",
"properties": {
"context": {
"properties": {
"version": {
"type": "string",
"enum": [
"0.1.0-draft"
"0.1.0"
],
"default": "0.1.0-draft"
"default": "0.1.0"
},
"id": {
"type": "string",
Expand Down
Loading