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

Add glossary #237

Merged

Conversation

e-backmark-ericsson
Copy link
Member

Applicable Issues

#234

Description of the Change

Adding a glossary of terms used in event definitions and documentation.

Alternate Designs

Benefits

Easier to read documentation and to make it homogenous

Possible Drawbacks

Sign-off

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or

(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or

(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.

(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.

Signed-off-by: Emil Bäckmark emil.backmark@ericsson.com

Copy link
Member

@e-pettersson-ericsson e-pettersson-ericsson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice addition! I had some comments though :)

eiffel-syntax-and-usage/glossary.md Show resolved Hide resolved
eiffel-syntax-and-usage/glossary.md Outdated Show resolved Hide resolved
eiffel-syntax-and-usage/glossary.md Outdated Show resolved Hide resolved
eiffel-syntax-and-usage/glossary.md Outdated Show resolved Hide resolved
eiffel-syntax-and-usage/glossary.md Outdated Show resolved Hide resolved
@e-backmark-ericsson e-backmark-ericsson linked an issue May 7, 2020 that may be closed by this pull request
Copy link
Member

@e-pettersson-ericsson e-pettersson-ericsson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

- [EiffelTestCaseFinishedEvent](../eiffel-vocabulary/EiffelTestCaseFinishedEvent.md)

### Artifact
_Artifacts_ are items or software packages generated in a CI/CD [pipeline](#pipeline), for example a built binary or a Docker image. An artifact should be possible to identify using a purl (package URL). An artifact is often the subject of a test executed or a delivery performed within a CI/CD [pipeline](#pipeline).
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This definition is enough, but maybe we could add that artifacts aren't always only things that will be included in products?
They can also be test artifacts, i.e. artifacts only created to be useful in some specific test scenario. For example, when product software is combined with testing harnesses. Such artifacts are also defined by Baselines to record what versions of testing harness software were used.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Will add something along those lines.

#### Examples of events related to artifacts:
- [EiffelArtifactCreatedEvent](../eiffel-vocabulary/EiffelArtifactCreatedEvent.md)

### Composition
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good definition!

As with Artifacts, we could add a comment/example of how Compositions/Baselines can be used to record test environments as well as product hierarchies.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, will do.

- [EiffelEnvironmentDefinedEvent](../eiffel-vocabulary/EiffelEnvironmentDefinedEvent.md)

### Event
An Eiffel _event_ is a broadcast notification telling any consumer about an event occurring in the CI/CD [pipeline](#pipeline).
Copy link

@eradam eradam May 8, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, good definition, I have heard many times that people still don't understand really what an event is/should be.
It is not a message sent intending to cause some side effect somewhere like a remote procedure call. It is just a notification to the world that something has happened. As such, an event should not contain information that is not directly associated with what happened, even if it is tempting to use them as carriers of general "system" type information.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. I'll elaborate a bit more on the event definition, and probably also add a link definition explaining a chain of events.


#### Examples of events related to artifacts:
- [EiffelArtifactCreatedEvent](../eiffel-vocabulary/EiffelArtifactCreatedEvent.md)

### Composition
A _composition_ is an immutable grouping of specific versions of [artifacts](#artifact) and/or [source changes](#source-change). It is more or less the same as what is elsewhere sometimes referred to as a _baseline_, which can be explained as being a fixed reference point used for comparison. A composition is often defined with the purpose of enabling downstream [artifacts](#artifact) to be generated.
A _composition_ is an immutable grouping of specific versions of [artifacts](#artifact) and/or [source changes](#source-change). It is more or less the same as what is elsewhere sometimes referred to as a _baseline_, which can be explained as being a fixed reference point used for comparison. A composition is often defined with the purpose of enabling downstream artifacts to be generated. It gives full traceability on what software pieces that were used to generate the artifact, being it a product artifact, a test harness or some other kind of generated artifact.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"being it a product" should perhaps be rephrased to "be it a product"?

@e-backmark-ericsson e-backmark-ericsson merged commit a686e29 into eiffel-community:master May 18, 2020
@e-backmark-ericsson e-backmark-ericsson deleted the issue234 branch May 18, 2020 08:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Define terms in an Eiffel Vocabulary
6 participants