Sha256: d11c467fb9484ef5884a4a33b7dffc14650f53f19b4cbd958cc5318f265e4ce0

Contents?: true

Size: 1.07 KB

Versions: 110

Compression:

Stored size: 1.07 KB

Contents

module Fastlane
  module Actions
    module SharedValues
      GIT_REPO_WAS_CLEAN_ON_START = :GIT_REPO_WAS_CLEAN_ON_START
    end

    # Raises an exception and stop the lane execution if the repo is not in a clean state
    class EnsureGitStatusCleanAction < Action
      def self.run(params)
        repo_clean = `git status --porcelain`.empty?

        if repo_clean
          Helper.log.info 'Git status is clean, all good! 💪'.green
          Actions.lane_context[SharedValues::GIT_REPO_WAS_CLEAN_ON_START] = true
        else
          raise 'Git repository is dirty! Please ensure the repo is in a clean state by commiting/stashing/discarding all changes first.'.red
        end
      end

      def self.description
        "Raises an exception if there are uncommited git changes"
      end

      def self.output
        [
          ['GIT_REPO_WAS_CLEAN_ON_START', 'Stores the fact that the git repo was clean at some point']
        ]
      end

      def self.author
        "lmirosevic"
      end

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

Version data entries

110 entries across 110 versions & 1 rubygems

Version Path
fastlane-1.12.0 lib/fastlane/actions/ensure_git_status_clean.rb
fastlane-1.11.0 lib/fastlane/actions/ensure_git_status_clean.rb
fastlane-1.10.0 lib/fastlane/actions/ensure_git_status_clean.rb
fastlane-1.9.0 lib/fastlane/actions/ensure_git_status_clean.rb
fastlane-1.8.0 lib/fastlane/actions/ensure_git_status_clean.rb
fastlane-1.7.3 lib/fastlane/actions/ensure_git_status_clean.rb
fastlane-1.7.2 lib/fastlane/actions/ensure_git_status_clean.rb
fastlane-1.7.1 lib/fastlane/actions/ensure_git_status_clean.rb
fastlane-1.7.0 lib/fastlane/actions/ensure_git_status_clean.rb
fastlane-1.6.0 lib/fastlane/actions/ensure_git_status_clean.rb
fastlane-1.5.0 lib/fastlane/actions/ensure_git_status_clean.rb
fastlane-1.4.0 lib/fastlane/actions/ensure_git_status_clean.rb
fastlane-1.3.2 lib/fastlane/actions/ensure_git_status_clean.rb
fastlane-1.3.1 lib/fastlane/actions/ensure_git_status_clean.rb
fastlane-1.3.0 lib/fastlane/actions/ensure_git_status_clean.rb
fastlane-1.2.3 lib/fastlane/actions/ensure_git_status_clean.rb
fastlane-1.2.2 lib/fastlane/actions/ensure_git_status_clean.rb
fastlane-1.2.1 lib/fastlane/actions/ensure_git_status_clean.rb
fastlane-1.2.0 lib/fastlane/actions/ensure_git_status_clean.rb
fastlane-1.1.0 lib/fastlane/actions/ensure_git_status_clean.rb