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

Differences between ci and build types -- round 2 #35

Open
javier-godoy opened this issue Aug 29, 2023 · 3 comments
Open

Differences between ci and build types -- round 2 #35

javier-godoy opened this issue Aug 29, 2023 · 3 comments
Labels
agreed An agreement on the resolution has been reached

Comments

@javier-godoy
Copy link
Member

In #10 we discussed build: vs ci:. After a long discussion we settled in:

build: Changes to the build process or external dependencies affecting the exported artifacts (i.e. those artifacts that are created as a result of such process, and are utilized as final deliverables or included in other external projects). Correlates with a PATCH, MINOR or MAJOR increment in semantic versioning, depending on the nature of the change

ci: Changes to the CI configuration, and other changes to the build process or external dependencies with no impact in the exported artifacts (e.g.: configure code quality metrics, add dependencies that are only needed for running unit tests). Does not correlate with an increment in semantic versioning, because the versioned artifacts are not modified

In FlowingCode/CommonsDemo#58 (comment) it was argued that pom.xml was actually exported by the build process, making any change to that file potentially a commit of type build:

IMHO, the difference is that a commit of type build: introduces a releasable change ("it correlates with a PATCH, MINOR or MAJOR increment in semantic versioning"), while a commit of type ci: doesn't ("does not correlate with an increment in semantic versioning, because the versioned artifacts are not modified")

I propose that we amend the conventions by stating a clarification in that sense.

@javier-godoy javier-godoy added the discuss The issue is scheduled for internal discussion label Aug 29, 2023
@javier-godoy
Copy link
Member Author

On 2023-09-18 we agreed on the proposal. The clarification text remains to be discussed.

@mlopezFC
Copy link
Member

I was thinking about this a little bit more and I came to the conclusion that given that the pom.xml file is always included in the released artifact it will make ci type to almost disappear. There are some examples like modifications on github action scripts (it is ci because it will not affect the released artifact) and modification to pom files that are not released where ci can still be used. Maybe it is good because it will make things easier when deciding which type to use.

@flang
Copy link

flang commented Dec 4, 2023

I think that build: should apply to those commits that affects not only the final artifact, but also the end user of the component transitively. On the other side, even though a ci: commit could include pom.xml changes, end user shouldn't be affected by this kind of commit.

@javier-godoy javier-godoy added agreed An agreement on the resolution has been reached and removed discuss The issue is scheduled for internal discussion labels Oct 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
agreed An agreement on the resolution has been reached
Projects
Status: To Do
Development

No branches or pull requests

3 participants