Difference between revisions of "Continuous Integration: Developer"

From Gcube Wiki
Jump to: navigation, search
(Created page with " = POM version on master = = Tag =")
 
(Release preparation steps)
 
(19 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
= POM version on master =
 +
Technically, the ''master'' branch must be releasable at any time.
  
 +
When a gCube release is declared open by the [[Continuous_Integration:_Releases_Manager#Responsibilities| Release Manager]] and until it is declared close, the artifact version in the POM on master MUST NOT have the -SNAPSHOT suffix.
  
= POM version on master =  
+
= Dependencies' version =
 +
'''At release time''', the dependencies listed on the pom must be in one of the following formats:
  
= Tag =
+
1)  a fixed version (without the -SNAPSHOT qualifier). E.g.:
 +
* 1.0
 +
* 1.1
 +
* ...
 +
 
 +
OR
 +
 
 +
2) a range with the lower limit without the SNAPSHOT qualifier. E.g.:
 +
* [1.0, 1.3]
 +
* [1.0, 1.3-SNAPSHOT)
 +
* [1.0, 2.0]
 +
* [1.0, 2.0-SNAPSHOT)
 +
* ...
 +
 
 +
The reason behind this type of range is to make sure snapshots are not required at release time. The build of the project would otherwise fail since the gcube-snasphots maven repository is obviously not visible during the release build.
 +
 
 +
A developer can use the dependencies' versions that best fit the development activity (even if it's suggested to always keep these formats to avoid a continuous switching) but must then comply to the formats on the master branch at release time.
 +
 
 +
= Creating a Release from the Tag=
 +
 
 +
The tag procedure now is done automatically. The old activities were described here: [[Tags#Released_Tags| Released Tags]].
 +
 
 +
= Release integration steps=
 +
 
 +
See [[Release_Integration | Release Steps]].
 +
 
 +
''Back to the [[Continuous_Integration_procedure_(2019) | CI guide]].''
 +
 
 +
[[Category:Continuous_Integration]]

Latest revision as of 18:38, 24 November 2020

POM version on master

Technically, the master branch must be releasable at any time.

When a gCube release is declared open by the Release Manager and until it is declared close, the artifact version in the POM on master MUST NOT have the -SNAPSHOT suffix.

Dependencies' version

At release time, the dependencies listed on the pom must be in one of the following formats:

1) a fixed version (without the -SNAPSHOT qualifier). E.g.:

  • 1.0
  • 1.1
  • ...

OR

2) a range with the lower limit without the SNAPSHOT qualifier. E.g.:

  • [1.0, 1.3]
  • [1.0, 1.3-SNAPSHOT)
  • [1.0, 2.0]
  • [1.0, 2.0-SNAPSHOT)
  • ...

The reason behind this type of range is to make sure snapshots are not required at release time. The build of the project would otherwise fail since the gcube-snasphots maven repository is obviously not visible during the release build.

A developer can use the dependencies' versions that best fit the development activity (even if it's suggested to always keep these formats to avoid a continuous switching) but must then comply to the formats on the master branch at release time.

Creating a Release from the Tag

The tag procedure now is done automatically. The old activities were described here: Released Tags.

Release integration steps

See Release Steps.

Back to the CI guide.