open-source software release management best practices · 2017-01-24 · agenda oscar, the ow2...

Post on 17-Jun-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

OSCAR Quality Programme

Open-Source SoftwareRelease Management

Best Practices

Agenda

OSCAR, the OW2 quality programme

Examples of open source projects release processes

Key steps and best practices in release management

Resources

2

3

OW2 QualityProgramme

OSCAR: a Set of Best Practices and a Platform

4Governance Engineering

Requirements

Metrics

Visual Reporting

Risk analysisOM

M Fo

rm

Metrics / Scorecards

Documentation

Privacy / GDPR

Standards

Licenses and IPFossology

SonarQube

Static code analysis

Code / Commits / Bugs

Testing / CI / Release

Cloud Deployment

OMM

Form

5

Examples ofOSS Products

Release Processes

Ex: XWiki Release Plan

7Reference: XWiki Release Plans

Ex: Syncope Release Plan

8Reference: Syncope release-process

9

Recommended Stepsand Best Practices

in OSS Release Management

Key Recommended Steps and Best PracticesRelease versioningRelease environment setupIssue clean upContinuous integration checkPerforming the releaseRelease notesPackagingDocumentation updatePublicationAnnouncement and promotion

10

Release VersioningSemantic Versioning semver.org

MAJOR.MINOR.PATCH[-alpha.xyz]

“Increment the:1. MAJOR version when you make incompatible

API changes,2. MINOR version when you add functionality in

a backwards-compatible manner, and3. PATCH version when you make

backwards-compatible bug fixes.”T. Preston-Werner co-founder of GitHub and CodeConf

11

Release Environment Setup

OS environment description

List of software prerequisites

Dependencies repository configuration

Build settings, e.g. Maven settings file

12

Issue Clean Up

No remaining open issues for the release

[JIRA] Transition from Resolved to Closed

[JIRA] The Fix Version attribute should include this release version

Closed issues should be documented

13

Continuous Integration Check

All test MUST pass

Or failures are understood and documented

Static code analysis – e.g. SonarQube

License analysis

Code license and copyright check – e.g. FOSSology

Prepare your source code for distribution – TripleCheck, OW2con’16

Dependency management and license compliance – Inno3, OW2con’16

14

Release Preparation – Ex: Maven Release Plugin

No uncommitted changes in the sources

No SNAPSHOT dependencies

Versions from x-SNAPSHOT to new version

Tag SCM information in the POM

Run tests against the modified POMs

Commit the modified POMs

Tag the code with release name

Bump the version in the POMs

Commit the modified POMs[Source: Maven Release Plugin Prepare Doc.] 15

Performing the Release – Ex: Maven Release Plugin

Maven dry run of release:prepare

Check pom.xml.tag and release.properties

Check GPG signatures of binaries

Maven release:prepare for real

Publication to Nexus

[JIRA] Mark version as released[Source: Apache Syncope Prepare Source for Release]

16

Release NotesTypical release notes sections:

Introduction and overall descriptionMain new featuresList of all fixed issuesTested environmentsKnown issuesMigration notesBackward compatibilityLink to documentationList of contributors

17Example: XWiki 8.3 Release Notes

Packaging for Easy Integration, Usage, Cloud Deployment

As packages in language specific package repositories: e.g. Maven Central, Eclipse Update Repository, PyPI, NPM, Ruby Gems, CPAN, ...

As installable Linux distribution packages: e.g. RPM, DEB

As Cloud templates and images: e.g. AppHub, DockerHub

18

Publication

Publication of binaries to:

Library repositories (Maven Central, …)

Mirrors (e.g. OW2, Apache, CDN, ...)

Linux distribution packaging systems

Cloud marketplaces (e.g. AppHub)

Publication of versioned documentation to:

Project site

FLOSS Manuals.net

19

Announcement and Promotion

Mail to users and developers

Blog post

Tweets

LinkedIn announcement in specialized groups

Wikipedia page update

20

AppHub: the OW2 Self-Service Cloud Deployment Platform

21

Multi-cloudMulti-technoSelf-serviceOW2 charter / OSCAROW2 governance

www.apphub.eu.com

23

Resources

Open-source Software Release Management

Best PracticesThank you

oscar.ow2.org

25

top related