All Projects β†’ pajapro β†’ Fastlane Plugin Changelog

pajapro / Fastlane Plugin Changelog

Licence: mit
Automate changes to your project CHANGELOG.md

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Fastlane Plugin Changelog

Git Changelog Lib
Library for parsing and generating a changelog, or releasenotes, from a GIT repository
Stars: ✭ 117 (-33.52%)
Mutual labels:  changelog
Commit Analyzer
πŸ’‘ semantic-release plugin to analyze commits with conventional-changelog
Stars: ✭ 146 (-17.05%)
Mutual labels:  changelog
Upcomingmovies
Movies app written in Swift 5 using the TMDb API and demonstrating Clean Architecture, Dependency Injection, MVVM and Coordinators.
Stars: ✭ 160 (-9.09%)
Mutual labels:  fastlane
Gh Release
Create a github release for a node package.
Stars: ✭ 132 (-25%)
Mutual labels:  changelog
Gacp
πŸ’¬Git add, commit, push with Conventional Commits and Gitmoji.
Stars: ✭ 139 (-21.02%)
Mutual labels:  changelog
Nearbyweather
NearbyWeather is an open source weather app for iOS, which uses the OpenWeatherMap API. With this project developers are invited to learn advanced iOS concepts, as well as to contribute further advancements. Fork this repo to get started.
Stars: ✭ 146 (-17.05%)
Mutual labels:  fastlane
Git Chglog
CHANGELOG generator implemented in Go (Golang).
Stars: ✭ 1,895 (+976.7%)
Mutual labels:  changelog
Semantic Release
πŸ“¦πŸš€ Fully automated version management and package publishing
Stars: ✭ 14,364 (+8061.36%)
Mutual labels:  changelog
Changelog
πŸ“˜ semantic-release plugin to create or update a changelog file
Stars: ✭ 142 (-19.32%)
Mutual labels:  changelog
Clendar
Clendar - universal calendar app. Written in SwiftUI. Available on App Store
Stars: ✭ 153 (-13.07%)
Mutual labels:  fastlane
Chyle
Changelog generator : use a git repository and various data sources and publish the result on external services
Stars: ✭ 137 (-22.16%)
Mutual labels:  changelog
Fastfiles
Fastlane fastfile examples and custom actions
Stars: ✭ 138 (-21.59%)
Mutual labels:  fastlane
Maintainer
πŸ‘¨β€πŸ’» 🐳 Generate personal daily reports or summary, AUTHORS, CONTRIBUTING, CHANGELOG and so on for GitHub user or repository.
Stars: ✭ 152 (-13.64%)
Mutual labels:  changelog
Release Notes Generator
πŸ“‹ semantic-release plugin to generate changelog content with conventional-changelog
Stars: ✭ 123 (-30.11%)
Mutual labels:  changelog
Xcfit
Full Stack Protocol Oriented BDD in Xcode for iOS app with Swift using XCUITest, Cucumberish and FitNesse
Stars: ✭ 170 (-3.41%)
Mutual labels:  fastlane
Autobahn
CLI tool written in Swift heavily inspired by https://github.com/fastlane/fastlane
Stars: ✭ 116 (-34.09%)
Mutual labels:  fastlane
Loglive
Render changelog as a website on the fly.
Stars: ✭ 146 (-17.05%)
Mutual labels:  changelog
React Native Boilerplate
A React Native template for building solid applications πŸ™, using JavaScript πŸ’› or Typescript πŸ’™ (you choose).
Stars: ✭ 2,669 (+1416.48%)
Mutual labels:  fastlane
Swifthub
GitHub iOS client in RxSwift and MVVM-C clean architecture
Stars: ✭ 2,330 (+1223.86%)
Mutual labels:  fastlane
Keep A Changelog
Tools for manipulating CHANGELOG.md files in Keep A Changelog format, including tagging and releasing.
Stars: ✭ 155 (-11.93%)
Mutual labels:  changelog

changelog plugin

fastlane Plugin Badge Build Status Twitter: @hello_paja

Getting Started

This project is a fastlane plugin. To get started with fastlane-plugin-changelog add it to your project by running:

fastlane add_plugin changelog

About changelog

This plugin is inspired by and based on Keep a CHANGELOG project. Keep a CHANGELOG proposes a standardised format for keeping change log of your project repository in CHANGELOG.md file. This file contains a curated, chronologically ordered list of notable changes for each version of a project in human readable format.

Since Keep a CHANGELOG project proposes a well-defined structure with sections (e.g.: [Unreleased], [0.3.0]) and subsections (Added, Changed, Deprecated, Removed, Fixed, Security) it opens up an opportunity to automate reading from/writing to CHANGELOG.md with fastlane.

Actions

fastlane-plugin-changelog consists of 3 actions enabling you to manipulate CHANGELOG.md from fastlane.

πŸ“– read_changelog

Reads the content of a section from your project's CHANGELOG.md file. CHANGELOG.md must follow structure proposed by Keep a CHANGELOG project.

read_changelog	# Reads the Unreleased section from CHANGELOG.md in your project's folder
read_changelog(
  changelog_path: './custom_folder/CHANGELOG.md',	# Specify path to CHANGELOG.md
  section_identifier: '[Unreleased]',	# Specify what section to read
  excluded_markdown_elements: ['-', '###']	# Specify which markdown elements should be excluded
)

Use the output of this action in conjunction with for example pilot to upload your change log to TestFlight or with github_release to create a new release on Github.

πŸ“ update_changelog

Updates section identifier of your project's CHANGELOG.md file.

update_changelog(
  section_identifier: '[Build 123]', # Specify what section to update
  updated_section_identifier: 'Build 321' # Specify new section identifier
)

πŸ”– stamp_changelog

Stamps the Unreleased (see How can I minimize the effort required?) section with provided identifier in your project CHANGELOG.md file and sets up a new Unreleased section above it. Additionally, you can provide an optional git_tag param, specifing git tag associated with this section. stamp_changelog will then create a link to diff between this and previous section's tag on GitHub or Bitbucket. This will enable you to quickly get to comparison between two tags.

stamp_changelog(
  section_identifier: 'Build XYZ', # Specify identifier to stamp the Unreleased section with 
  git_tag: 'bXYZ', # Specify reference to git tag associated with this section
  should_stamp_date: true, # Specify whether the current date as per the stamp_datetime_format should be stamped to the section identifier (default is `true`)
  stamp_datetime_format: '%FT%TZ' # Specify strftime format string to use for the date in the stamped section (default `%FZ`)
)

πŸ€– Moreover, if you are using danger-changelog plugin, you can leverage placeholder_line string paramater. placeholder_line string will be ignored when stamping an existing section and copied into [Unreleased] section. This will help contributors to your project to see where changelog changes should be added (see feature request).

😁 emojify_changelog

Emojifies the output of read_changelog action. When you share changelog with the rest of your team on e.g.: Slack channel, it's nice to sprinkle your subsections with a bit of visuals so it immediately catches eyes of your teammates. emojify_changelog uses the output of read_changelog action to append an emoji to known subsections, for example:

Added:
- New awesome feature

Changed:
- Onboarding flow 

Fixed:
- Fix Markdown links 

Removed:
- User tracking 

Work In Progress:
- Sales screen

Security:
- Enable SSL pinning

Deprecated:
- Obsolete contact screen

emojifies into:

*Added* 🎁:
β€’ New awesome feature

*Changed* ↔️:
β€’ Onboarding flow UI

*Fixed* βœ…:
β€’ Fix Markdown links 

*Removed* 🚫:
β€’ User tracking 

*Work In Progress* 🚧:
β€’ Sales screen

*Security* πŸ”’:
β€’ Enable SSL pinning

*Deprecated* πŸ’¨:
β€’ Obsolete contact screen

Example of use:

changelog = read_changelog # Read changelog
pilot(changelog: changelog) # Send binary and changelog to TestFlight
emojified_changelog = emojify_changelog # Emojify the output of `read_changelog` action
slack(message: "Hey team, we have a new build for you, which includes the following: #{emojified_changelog}") # share on Slack

NOTE: do not send emojified changelog to iTunes Connect as it cannot handle emojis.

Example

As a developer you have to remember to keep your CHANGELOG.md up-to-date with whatever features, bug fixes etc. your repo contains and let fastlane do the rest.

lane :beta do
  build_number = get_build_number # Get build number
  gym # Compile
  
  changelog = read_changelog # Read changelog
  pilot(changelog: changelog) # Send binary and changelog to TestFlight
  
  stamp_changelog(section_identifier: "Build #{build_number}") # Stamp Unreleased section with newly released build number
end

Issues and Feedback

For any other issues and feedback about this plugin, please submit it to this repository.

Troubleshooting

If you have trouble using plugins, check out the Plugins Troubleshooting doc in the main fastlane repo.

Using fastlane Plugins

For more information about how the fastlane plugin system works, check out the Plugins documentation.

About fastlane

fastlane is the easiest way to automate building and releasing your iOS and Android apps. To learn more, check out fastlane.tools.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].