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

25
OSCAR Quality Programme Open-Source Software Release Management Best Practices

Upload: others

Post on 17-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best

OSCAR Quality Programme

Open-Source SoftwareRelease Management

Best Practices

Page 2: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best

Agenda

OSCAR, the OW2 quality programme

Examples of open source projects release processes

Key steps and best practices in release management

Resources

2

Page 3: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best

3

OW2 QualityProgramme

Page 4: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best

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

Page 5: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best

5

Examples ofOSS Products

Release Processes

Page 7: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best

Ex: XWiki Release Plan

7Reference: XWiki Release Plans

Page 8: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best

Ex: Syncope Release Plan

8Reference: Syncope release-process

Page 9: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best

9

Recommended Stepsand Best Practices

in OSS Release Management

Page 10: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best

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

10

Page 11: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best

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

Page 12: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best

Release Environment Setup

OS environment description

List of software prerequisites

Dependencies repository configuration

Build settings, e.g. Maven settings file

12

Page 13: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best

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

Page 14: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best

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

Page 15: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best

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

Page 16: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best

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

Page 17: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best

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

Page 18: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best

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

Page 19: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best

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

Page 20: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best

Announcement and Promotion

Mail to users and developers

Blog post

Tweets

LinkedIn announcement in specialized groups

Wikipedia page update

20

Page 21: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best

AppHub: the OW2 Self-Service Cloud Deployment Platform

21

Multi-cloudMulti-technoSelf-serviceOW2 charter / OSCAROW2 governance

www.apphub.eu.com

Page 23: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best

23

Resources

Page 25: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best

Open-source Software Release Management

Best PracticesThank you

oscar.ow2.org

25