-
Notifications
You must be signed in to change notification settings - Fork 41
Continuous Integration
Continuous Integration (CI) is established with a help of Github Actions.
Currently, it is represented by the following workflows:
- Parso CI - source code / execution
- Parso Pull Request - source code / execution
- Parso CodeQL Analysis - source code / execution
Each workflow is represented as a set of chained jobs where each job is represented as a set of chained steps.
Each step can be expressed as a predefined action with extension points from Github Marketplace or as a self-created action from the same repository (see docs for more information).
In order to prepare a release you should perform the following actions:
- Adjust build script (
pom.xml) by applying the correct final version (without-SNAPSHOTpostfix); - Aggregate and update release notes;
- Update examples and references using the new final version if it's required;
- Commit changes and push them to the
masterbranch.
As a reaction to pushed changes to master branch Parso CI workflow will be executed and the following artifacts will be available in case of successful completion:
- Staging repository with a name like
comepamparso-NNNNis created and moved to aClosedstate - check here - Github release in a
Draftstate is created - check here
In case if Parso CI workflow has an unsuccessful completion then the following activities should be performed:
- Logs of
Parso CIworkflow and staging repository with a name likecomepamparso-NNNNshould be examined and the next steps to resolve issues should be identified; - Staging repository with a name like
comepamparso-NNNNas a result of workflow execution should be dropped if it's present; - Github release in a
Draftstate as a result of workflow execution should be discarded if it's present.
In order to publish artifacts with a final version to Maven Central Repository and to publish a Github release
for further references you should do the following actions after the Release preparation stage is completed:
- Review staging repository with a name like
comepamparso-NNNNand if everything is OK then click on theReleasebutton
ATTENTION: it isn't possible to remove artifacts published to Maven Central Repository after clicking on theReleasebutton, therefore be careful during the validation of artifacts' consistency; - Add a description to a Github release in a
Draftstate and then click on thePublish releasebutton.
Before merging any pull request with new functionality or bug fixes you should do the following actions after the Release process stage is completed:
- Increment version according to Semantic Versioning and adjust build script (
pom.xml) with incremented version adding-SNAPSHOTpostfix to it; - Commit changes and push.
Artifacts with a non-final version (with -SNAPSHOT prefix) are published to the snapshot repository on each commit to the master branch - https://oss.sonatype.org/content/repositories/snapshots.