SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
Doug Hellmann
PyATL July 2018
Early OpenStack
Releases
• 6 Projects

• Manual release process

• Wiki-based release notes
What’s the big deal?
• Separate process == extra
work

• Reviewing 6 months of work
for user-facing changes

• Review existing notes for
accuracy

• No fun

• Usually not updated when bug
fixes were back-ported
Growth!
• Add 20+ libraries

• Added services, and client
libraries

• 6 → 20 → 60 teams

• Recruited a second release
manager
How can we improve?
• Automate writing

• Make writing easier

• Add and maintain notes as the
work is completed

• Automate publishing
What do we want?
Content
• Peer-reviewed

• Organized sections

• Mutable

• Deletable

• Avoid merge conflicts

Process

• Contributor ignores
versions

• Support back-porting

• No manual publishing
steps
What do we want?
Content
• Peer-reviewed

• Organized sections

• Mutable

• Deletable

• Avoid merge conflicts

Process

• Contributor ignores
versions

• Support back-porting

• No manual publishing
steps
Option 1: Sphinx
Pros
• Notes and code together 

• Familiarity

• Publishing automation
exists

• Mutable

Cons
• Messy merge conflicts
(master and back-ports)

• How do you manage
versions?
Option 2: Commit
Messages
Pros
• Notes and code together

• Always have one

• Peer-reviewed

Cons
• Wrong audience

• Hard to organize

• Immutable
Option 3: git notes
Pros
• Notes and code together

Cons
• git setup more complex

• Requires special gerrit
permissions

• Peer-reviewed?
Option 4: Data Files
• Many small files

• Use git as database

• Tools for adding, listing, reporting

• Sphinx integration
$ reno new D
Created new notes file in releasenotes/notes/
D-62ffea892937265f.yaml
$ cat releasenotes/notes/D-62ffea892937265f.yaml
---
features:
- |
This is the fourth release note, D.
E
D
F
A
B
G
C
1.0.0
2.0.0 master
stable/rocky
E
D
F
A
B
G
C
1.0.0
2.0.0 master
stable/rocky
E
D
F
A
B
G
C
1.0.0
2.0.0 master
stable/rocky
$ reno report -q --version 2.0.0 --no-show-source
=============
Release Notes
=============
2.0.0
=====
New Features
------------
- This is the third release note, C. It has a tyop.
- This is the fourth release note, D.
- This is the fifth release note, E.
- This is the sixth release note, F.
$ reno -q report --branch stable/rocky —no-show-source
=============
Release Notes
=============
1.0.0-1
=======
New Features
------------
- This release note G only appears on the stable/rocky branch.
1.0.0
=====
New Features
------------
- This is the first release note, A.
- This is the second release note, B.
E’E
D
F
A
B
G
C
1.0.0
1.0.1
2.0.0
stable/rocky
master
$ reno -q report --branch stable/rocky —no-show-source
=============
Release Notes
=============
1.0.1
=====
New Features
------------
- This is the fifth release note, E.
- This release note G only appears on the stable/rocky branch.
1.0.0
=====
New Features
------------
- This is the first release note, A.
- This is the second release note, B.
EE’
D
F
A
B
G
C
1.0.0
1.0.1
2.0.0 master
stable/rocky
C’
C’
$ reno -q report --version 2.0.0 —no-show-source
=============
Release Notes
=============
2.0.0
=====
New Features
------------
- This is the third release note, C. It no longer has a typo.
- This is the fourth release note, D.
- This is the fifth release note, E.
- This is the sixth release note, F.
============================
Current Series Release Notes
============================
.. release-notes::
Results
• Introduced in late 2015, 

6 development cycles ago

• Over 13,000 release notes for
almost 300 deliverables

• Many teams require release
notes with user-facing
changes
Interested?
• Please try reno!

• Defaults to OpenStack naming
conventions, but configurable.

• We like making our tools more
flexible to meet your use case!

• See also: towncrier or blurb
Thank you!
• https://docs.openstack.org/reno/latest/

• https://github.com/dhellmann/reno-sample-repository 

• freenode: #openstack-releases

• @doughellmann
• hotel signs — Jameson Fink — https://flic.kr/p/paTfam

• reno skyline — http://www.renoairport.com/sites/default/
files/pictures/Reno-Skyline-Night.jpg

• change — Meghan Newell — https://flic.kr/p/5B2RDQ

• fireworks — Darron Birgenheier — https://flic.kr/p/8fYbjX

• reno sign — Amy Meredith — https://flic.kr/p/6reDS6

Weitere ähnliche Inhalte

Ähnlich wie Reno A New Way to Manage Release Notes

[WroclawJUG] Continuous Delivery in OSS using Shipkit
[WroclawJUG] Continuous Delivery in OSS using Shipkit[WroclawJUG] Continuous Delivery in OSS using Shipkit
[WroclawJUG] Continuous Delivery in OSS using ShipkitMarcinStachniuk
 
Continuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.orgContinuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.orgMarcinStachniuk
 
Xen Project Release and Roadmap Process (4.7+)
Xen Project Release and Roadmap Process (4.7+)Xen Project Release and Roadmap Process (4.7+)
Xen Project Release and Roadmap Process (4.7+)The Linux Foundation
 
Git and GitHub workflows
Git and GitHub workflowsGit and GitHub workflows
Git and GitHub workflowsArthur Shvetsov
 
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...Puppet
 
Xen Project Release and Roadmap Process
Xen Project Release and Roadmap ProcessXen Project Release and Roadmap Process
Xen Project Release and Roadmap ProcessThe Linux Foundation
 
Gitflow - Clouddictive
Gitflow   - ClouddictiveGitflow   - Clouddictive
Gitflow - ClouddictiveClouddictive
 
Collaborative development with git
Collaborative development with gitCollaborative development with git
Collaborative development with gitJoseluis Laso
 
A Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching StrategyA Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching StrategyVivek Parihar
 
How to use Git Branch
How to use Git BranchHow to use Git Branch
How to use Git BranchPhuoc Nguyen
 
Release This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release CycleRelease This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release CycleGuerrilla
 
Bitbucket as a code server and pmt
Bitbucket as a code server and pmt Bitbucket as a code server and pmt
Bitbucket as a code server and pmt malike4u
 
Webinar MayaData OpenEBS 1.1 release
Webinar   MayaData OpenEBS 1.1 releaseWebinar   MayaData OpenEBS 1.1 release
Webinar MayaData OpenEBS 1.1 releaseMayaData Inc
 

Ähnlich wie Reno A New Way to Manage Release Notes (20)

Advanced Git
Advanced GitAdvanced Git
Advanced Git
 
[WroclawJUG] Continuous Delivery in OSS using Shipkit
[WroclawJUG] Continuous Delivery in OSS using Shipkit[WroclawJUG] Continuous Delivery in OSS using Shipkit
[WroclawJUG] Continuous Delivery in OSS using Shipkit
 
Continuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.orgContinuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.org
 
Xen Project Release and Roadmap Process (4.7+)
Xen Project Release and Roadmap Process (4.7+)Xen Project Release and Roadmap Process (4.7+)
Xen Project Release and Roadmap Process (4.7+)
 
Git and GitHub workflows
Git and GitHub workflowsGit and GitHub workflows
Git and GitHub workflows
 
Switching to Git
Switching to GitSwitching to Git
Switching to Git
 
Git workflows
Git workflowsGit workflows
Git workflows
 
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...
 
Xen Project Release and Roadmap Process
Xen Project Release and Roadmap ProcessXen Project Release and Roadmap Process
Xen Project Release and Roadmap Process
 
Gitflow - Clouddictive
Gitflow   - ClouddictiveGitflow   - Clouddictive
Gitflow - Clouddictive
 
Collaborative development with git
Collaborative development with gitCollaborative development with git
Collaborative development with git
 
A Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching StrategyA Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching Strategy
 
How to use Git Branch
How to use Git BranchHow to use Git Branch
How to use Git Branch
 
Gitflow
GitflowGitflow
Gitflow
 
Git workflows
Git workflowsGit workflows
Git workflows
 
Gitflow Workflow
Gitflow WorkflowGitflow Workflow
Gitflow Workflow
 
Release This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release CycleRelease This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release Cycle
 
Bitbucket as a code server and pmt
Bitbucket as a code server and pmt Bitbucket as a code server and pmt
Bitbucket as a code server and pmt
 
Webinar MayaData OpenEBS 1.1 release
Webinar   MayaData OpenEBS 1.1 releaseWebinar   MayaData OpenEBS 1.1 release
Webinar MayaData OpenEBS 1.1 release
 
Git collaboration
Git collaborationGit collaboration
Git collaboration
 

Mehr von doughellmann

How OpenStack Makes Python Better (and vice-versa)
How OpenStack Makes Python Better (and vice-versa)How OpenStack Makes Python Better (and vice-versa)
How OpenStack Makes Python Better (and vice-versa)doughellmann
 
How I Built a Power Debugger Out of the Standard Library and Things I Found o...
How I Built a Power Debugger Out of the Standard Library and Things I Found o...How I Built a Power Debugger Out of the Standard Library and Things I Found o...
How I Built a Power Debugger Out of the Standard Library and Things I Found o...doughellmann
 
Rolling with the Times: Using wheels, pbr, and Twine for Distributing and Ins...
Rolling with the Times: Using wheels, pbr, and Twine for Distributing and Ins...Rolling with the Times: Using wheels, pbr, and Twine for Distributing and Ins...
Rolling with the Times: Using wheels, pbr, and Twine for Distributing and Ins...doughellmann
 
Herding cats into boxes
Herding cats into boxesHerding cats into boxes
Herding cats into boxesdoughellmann
 
How I Built a Power Debugger Out of the Standard Library and Things I Found o...
How I Built a Power Debugger Out of the Standard Library and Things I Found o...How I Built a Power Debugger Out of the Standard Library and Things I Found o...
How I Built a Power Debugger Out of the Standard Library and Things I Found o...doughellmann
 
OpenStack 5th Birthday
OpenStack 5th BirthdayOpenStack 5th Birthday
OpenStack 5th Birthdaydoughellmann
 
Regexes and-performance-testing
Regexes and-performance-testingRegexes and-performance-testing
Regexes and-performance-testingdoughellmann
 
OpenStack Atlanta-2014-12-18
OpenStack Atlanta-2014-12-18OpenStack Atlanta-2014-12-18
OpenStack Atlanta-2014-12-18doughellmann
 
Taking the Long View: How the Oslo Program Reduces Technical Debt
Taking the Long View: How the Oslo Program Reduces Technical DebtTaking the Long View: How the Oslo Program Reduces Technical Debt
Taking the Long View: How the Oslo Program Reduces Technical Debtdoughellmann
 
Oslo Program Overview, OpenStack Atlanta
Oslo Program Overview, OpenStack AtlantaOslo Program Overview, OpenStack Atlanta
Oslo Program Overview, OpenStack Atlantadoughellmann
 
Dynamic Code Patterns: Extending Your Applications with Plugins
Dynamic Code Patterns: Extending Your Applications with PluginsDynamic Code Patterns: Extending Your Applications with Plugins
Dynamic Code Patterns: Extending Your Applications with Pluginsdoughellmann
 
Better Documentation Through Automation: Creating docutils & Sphinx Extensions
Better Documentation Through Automation: Creating docutils & Sphinx ExtensionsBetter Documentation Through Automation: Creating docutils & Sphinx Extensions
Better Documentation Through Automation: Creating docutils & Sphinx Extensionsdoughellmann
 
Hidden Treasures of the Python Standard Library
Hidden Treasures of the Python Standard LibraryHidden Treasures of the Python Standard Library
Hidden Treasures of the Python Standard Librarydoughellmann
 
An Introduction to the Zen of Python
An Introduction to the Zen of PythonAn Introduction to the Zen of Python
An Introduction to the Zen of Pythondoughellmann
 

Mehr von doughellmann (14)

How OpenStack Makes Python Better (and vice-versa)
How OpenStack Makes Python Better (and vice-versa)How OpenStack Makes Python Better (and vice-versa)
How OpenStack Makes Python Better (and vice-versa)
 
How I Built a Power Debugger Out of the Standard Library and Things I Found o...
How I Built a Power Debugger Out of the Standard Library and Things I Found o...How I Built a Power Debugger Out of the Standard Library and Things I Found o...
How I Built a Power Debugger Out of the Standard Library and Things I Found o...
 
Rolling with the Times: Using wheels, pbr, and Twine for Distributing and Ins...
Rolling with the Times: Using wheels, pbr, and Twine for Distributing and Ins...Rolling with the Times: Using wheels, pbr, and Twine for Distributing and Ins...
Rolling with the Times: Using wheels, pbr, and Twine for Distributing and Ins...
 
Herding cats into boxes
Herding cats into boxesHerding cats into boxes
Herding cats into boxes
 
How I Built a Power Debugger Out of the Standard Library and Things I Found o...
How I Built a Power Debugger Out of the Standard Library and Things I Found o...How I Built a Power Debugger Out of the Standard Library and Things I Found o...
How I Built a Power Debugger Out of the Standard Library and Things I Found o...
 
OpenStack 5th Birthday
OpenStack 5th BirthdayOpenStack 5th Birthday
OpenStack 5th Birthday
 
Regexes and-performance-testing
Regexes and-performance-testingRegexes and-performance-testing
Regexes and-performance-testing
 
OpenStack Atlanta-2014-12-18
OpenStack Atlanta-2014-12-18OpenStack Atlanta-2014-12-18
OpenStack Atlanta-2014-12-18
 
Taking the Long View: How the Oslo Program Reduces Technical Debt
Taking the Long View: How the Oslo Program Reduces Technical DebtTaking the Long View: How the Oslo Program Reduces Technical Debt
Taking the Long View: How the Oslo Program Reduces Technical Debt
 
Oslo Program Overview, OpenStack Atlanta
Oslo Program Overview, OpenStack AtlantaOslo Program Overview, OpenStack Atlanta
Oslo Program Overview, OpenStack Atlanta
 
Dynamic Code Patterns: Extending Your Applications with Plugins
Dynamic Code Patterns: Extending Your Applications with PluginsDynamic Code Patterns: Extending Your Applications with Plugins
Dynamic Code Patterns: Extending Your Applications with Plugins
 
Better Documentation Through Automation: Creating docutils & Sphinx Extensions
Better Documentation Through Automation: Creating docutils & Sphinx ExtensionsBetter Documentation Through Automation: Creating docutils & Sphinx Extensions
Better Documentation Through Automation: Creating docutils & Sphinx Extensions
 
Hidden Treasures of the Python Standard Library
Hidden Treasures of the Python Standard LibraryHidden Treasures of the Python Standard Library
Hidden Treasures of the Python Standard Library
 
An Introduction to the Zen of Python
An Introduction to the Zen of PythonAn Introduction to the Zen of Python
An Introduction to the Zen of Python
 

Kürzlich hochgeladen

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Kürzlich hochgeladen (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

Reno A New Way to Manage Release Notes

  • 2. Early OpenStack Releases • 6 Projects • Manual release process • Wiki-based release notes
  • 3. What’s the big deal? • Separate process == extra work • Reviewing 6 months of work for user-facing changes • Review existing notes for accuracy • No fun • Usually not updated when bug fixes were back-ported
  • 4. Growth! • Add 20+ libraries • Added services, and client libraries • 6 → 20 → 60 teams • Recruited a second release manager
  • 5. How can we improve? • Automate writing • Make writing easier • Add and maintain notes as the work is completed • Automate publishing
  • 6. What do we want? Content • Peer-reviewed • Organized sections • Mutable • Deletable • Avoid merge conflicts Process
 • Contributor ignores versions • Support back-porting • No manual publishing steps
  • 7. What do we want? Content • Peer-reviewed • Organized sections • Mutable • Deletable • Avoid merge conflicts Process
 • Contributor ignores versions • Support back-porting • No manual publishing steps
  • 8. Option 1: Sphinx Pros • Notes and code together • Familiarity • Publishing automation exists • Mutable
 Cons • Messy merge conflicts (master and back-ports) • How do you manage versions?
  • 9. Option 2: Commit Messages Pros • Notes and code together • Always have one • Peer-reviewed Cons • Wrong audience • Hard to organize • Immutable
  • 10. Option 3: git notes Pros • Notes and code together Cons • git setup more complex • Requires special gerrit permissions • Peer-reviewed?
  • 11. Option 4: Data Files • Many small files • Use git as database • Tools for adding, listing, reporting • Sphinx integration
  • 12. $ reno new D Created new notes file in releasenotes/notes/ D-62ffea892937265f.yaml
  • 17. $ reno report -q --version 2.0.0 --no-show-source ============= Release Notes ============= 2.0.0 ===== New Features ------------ - This is the third release note, C. It has a tyop. - This is the fourth release note, D. - This is the fifth release note, E. - This is the sixth release note, F.
  • 18. $ reno -q report --branch stable/rocky —no-show-source ============= Release Notes ============= 1.0.0-1 ======= New Features ------------ - This release note G only appears on the stable/rocky branch. 1.0.0 ===== New Features ------------ - This is the first release note, A. - This is the second release note, B.
  • 20. $ reno -q report --branch stable/rocky —no-show-source ============= Release Notes ============= 1.0.1 ===== New Features ------------ - This is the fifth release note, E. - This release note G only appears on the stable/rocky branch. 1.0.0 ===== New Features ------------ - This is the first release note, A. - This is the second release note, B.
  • 22. $ reno -q report --version 2.0.0 —no-show-source ============= Release Notes ============= 2.0.0 ===== New Features ------------ - This is the third release note, C. It no longer has a typo. - This is the fourth release note, D. - This is the fifth release note, E. - This is the sixth release note, F.
  • 23. ============================ Current Series Release Notes ============================ .. release-notes::
  • 24.
  • 25. Results • Introduced in late 2015, 
 6 development cycles ago • Over 13,000 release notes for almost 300 deliverables • Many teams require release notes with user-facing changes
  • 26. Interested? • Please try reno! • Defaults to OpenStack naming conventions, but configurable. • We like making our tools more flexible to meet your use case! • See also: towncrier or blurb
  • 27. Thank you! • https://docs.openstack.org/reno/latest/ • https://github.com/dhellmann/reno-sample-repository • freenode: #openstack-releases • @doughellmann
  • 28. • hotel signs — Jameson Fink — https://flic.kr/p/paTfam • reno skyline — http://www.renoairport.com/sites/default/ files/pictures/Reno-Skyline-Night.jpg • change — Meghan Newell — https://flic.kr/p/5B2RDQ • fireworks — Darron Birgenheier — https://flic.kr/p/8fYbjX • reno sign — Amy Meredith — https://flic.kr/p/6reDS6