Sha256: a6bb3566cc6e6b077bb0206ea1f927f6c1e7c42cb433ab57749d506e6de84c55

Contents?: true

Size: 1.06 KB

Versions: 4

Compression:

Stored size: 1.06 KB

Contents

module Fastlane
  module Actions
    module SharedValues
      RELEASE_NOTES = :RELEASE_NOTES
    end

    class ReleaseNotesAction < Action
      def self.run(config)
        Fastlane::Polidea.session.action_launched("release_notes", config)

        current_tag = sh "git describe --exact-match --tags HEAD"
        tag_info = sh "git cat-file -p #{current_tag}"
        release_notes = tag_info.split("\n").drop(5).join("\n")
        UI.success "Extracted release notes:\n#{release_notes}"
        Actions.lane_context[SharedValues::RELEASE_NOTES] = release_notes
        ENV[SharedValues::RELEASE_NOTES.to_s] = release_notes

        Fastlane::Polidea.session.action_completed("release_notes")

        release_notes
      end

      def self.description
        "Extracts release notes from git tag messages"
      end

      def self.output
        [
          ['RELEASE_NOTES', 'Release notes extracted from git tag']
        ]
      end

      def self.author
        "Piotrek Dubiel"
      end

      def self.is_supported?(platform)
        true
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
fastlane-plugin-polidea-2.2.0.pre.1 lib/fastlane/plugin/polidea/actions/release_notes.rb
fastlane-plugin-polidea-2.2.0.pre lib/fastlane/plugin/polidea/actions/release_notes.rb
fastlane-plugin-polidea-2.1.1.pre.2 lib/fastlane/plugin/polidea/actions/release_notes.rb
fastlane-plugin-polidea-2.1.1.pre.1 lib/fastlane/plugin/polidea/actions/release_notes.rb