From 78c6249e4e4cda5fed10516c009d680db384ed46 Mon Sep 17 00:00:00 2001 From: Kevin Paulisse Date: Thu, 29 Dec 2016 08:10:12 -0500 Subject: [PATCH 1/5] Add instructions to run from a specific branch --- doc/dev/run-from-branch.md | 58 ++++++++++++++++++++ doc/images/pull-request-identify-branch.png | Bin 0 -> 77392 bytes doc/installation.md | 6 ++ lib/octocatalog-diff/catalog-diff/cli.rb | 3 +- script/octocatalog-diff-wrapper | 17 ++++++ 5 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 doc/dev/run-from-branch.md create mode 100644 doc/images/pull-request-identify-branch.png create mode 100755 script/octocatalog-diff-wrapper diff --git a/doc/dev/run-from-branch.md b/doc/dev/run-from-branch.md new file mode 100644 index 00000000..0ac998f3 --- /dev/null +++ b/doc/dev/run-from-branch.md @@ -0,0 +1,58 @@ +# Running octocatalog-diff from a branch + +When we are assisting with troubleshooting, or implementing a feature you've requested, we may ask you to run `octocatalog-diff` from a non-master branch to try it out. + +This document is intended for people who may not be familiar with git, GitHub, and/or ruby. If you already know how to do this in another way, feel free! + +## Installation + +1. Determine the branch name. If there's an open Pull Request, you can see the branch name near the top of the page. + + ![Pull Request branch](/doc/images/pull-request-identify-branch.png) + +2. Clone the `octocatalog-diff` repository in your home directory. From the command line: + + ``` + cd $HOME + git clone https://github.com/github/octocatalog-diff.git + ``` + +3. Change into the directory created by your checkout: + + ``` + cd $HOME/octocatalog-diff + ``` + +4. Check out the branch you wish to use, filling in the branch name you determined in the first step: + + ``` + git checkout BRANCH_NAME_FROM_STEP_1 + ``` + +5. Bootstrap the repository to pull in dependencies: + + ``` + ./script/bootstrap + ``` + +6. Optional but recommended - run the test suite: + + ``` + rake + ``` + +## Use + +Now that you have `octocatalog-diff` checked out and bootstrapped, it's time to use it. + +We've created a wrapper script to make this easier for you. + +1. Change directories to the location where you ordinarily run `octocatalog-diff` (for example: in your Puppet repository). + +2. Run the `script/octocatalog-diff-wrapper` script from *this* checkout. For example, if you checked out `octocatalog-diff` to your home directory, you could use: + +``` +$HOME/octocatalog-diff/script/octocatalog-diff-wrapper +``` + +:warning: Note: If you are requesting our help, please use the debug option (`-d`) to display debugging information. diff --git a/doc/images/pull-request-identify-branch.png b/doc/images/pull-request-identify-branch.png new file mode 100644 index 0000000000000000000000000000000000000000..bd28b8a3c771e166998208d1e159e5859d5428b4 GIT binary patch literal 77392 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 literal 0 HcmV?d00001 diff --git a/doc/installation.md b/doc/installation.md index 96c31e47..d5fa1036 100644 --- a/doc/installation.md +++ b/doc/installation.md @@ -47,3 +47,9 @@ To install from source, you'll need a git client and internet access. Note: If tests fail on your machine with a clean checkout of the master branch, we would definitely appreciate if you would report it. Please [open an issue](https://github.com/github/octocatalog-diff/issues/new) with the output and some information about your system (e.g. OS, ruby version, etc.) to let us know. Once the code is downloaded and bootstrapped, please proceed to [Configuration](/doc/configuration.md). + +## Running from an alternate branch + +We have prepared specific instructions for running `octocatalog-diff` from a non-master branch, for testing changes that may be requested by the developers. + +- [Running octocatalog-diff from a branch](/doc/dev/run-from-branch.md) diff --git a/lib/octocatalog-diff/catalog-diff/cli.rb b/lib/octocatalog-diff/catalog-diff/cli.rb index f5beab7d..2cf8b553 100644 --- a/lib/octocatalog-diff/catalog-diff/cli.rb +++ b/lib/octocatalog-diff/catalog-diff/cli.rb @@ -166,7 +166,8 @@ def self.setup_logger(logger, options, argv_save) logger.level = Logger::ERROR if options[:quiet] # Some debugging information up front - logger.debug "Running octocatalog-diff #{VERSION} with ruby #{RUBY_VERSION}" + version_display = "@#{ENV['OCTOCATALOG_DIFF_CUSTOM_VERSION']}" || VERSION + logger.debug "Running octocatalog-diff #{version_display} with ruby #{RUBY_VERSION}" logger.debug "Command line arguments: #{argv_save.inspect}" logger.debug "Running on host #{Socket.gethostname} (#{RUBY_PLATFORM})" end diff --git a/script/octocatalog-diff-wrapper b/script/octocatalog-diff-wrapper new file mode 100755 index 00000000..8859c25e --- /dev/null +++ b/script/octocatalog-diff-wrapper @@ -0,0 +1,17 @@ +#!/bin/bash + +# This script exists to make it easier to test alternate branches of octocatalog-diff. +# It is intended as a one-for-one replacement of `octocatalog-diff` as installed by the gem. + +CURRENT_PWD="$(pwd)" +CHECKOUT_BASE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd .. && pwd )" + +if [ -z "$OCTOCATALOG_DIFF_CONFIG_FILE" ]; then + if [ -f "${CURRENT_PWD}/.octocatalog-diff.cfg.rb" ]; then + export OCTOCATALOG_DIFF_CONFIG_FILE="${CURRENT_PWD}/.octocatalog-diff.cfg.rb" + fi +fi + +cd "$CHECKOUT_BASE" +export OCTOCATALOG_DIFF_CUSTOM_VERSION=$(git rev-parse HEAD) +bundle exec bin/octocatalog-diff --basedir "$CURRENT_PWD" $* From d05c30152c897219367d586414ccb1f651ab7221 Mon Sep 17 00:00:00 2001 From: Kevin Paulisse Date: Thu, 29 Dec 2016 08:13:00 -0500 Subject: [PATCH 2/5] Add indentation and example of cd-ing to /etc/puppetlabs/code --- doc/dev/run-from-branch.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/doc/dev/run-from-branch.md b/doc/dev/run-from-branch.md index 0ac998f3..6717b457 100644 --- a/doc/dev/run-from-branch.md +++ b/doc/dev/run-from-branch.md @@ -49,10 +49,14 @@ We've created a wrapper script to make this easier for you. 1. Change directories to the location where you ordinarily run `octocatalog-diff` (for example: in your Puppet repository). + ``` + cd /etc/puppetlabs/code + ``` + 2. Run the `script/octocatalog-diff-wrapper` script from *this* checkout. For example, if you checked out `octocatalog-diff` to your home directory, you could use: -``` -$HOME/octocatalog-diff/script/octocatalog-diff-wrapper -``` + ``` + $HOME/octocatalog-diff/script/octocatalog-diff-wrapper + ``` :warning: Note: If you are requesting our help, please use the debug option (`-d`) to display debugging information. From ff8920850f2ef260b5fde2eececfe18965d44d19 Mon Sep 17 00:00:00 2001 From: Kevin Paulisse Date: Fri, 30 Dec 2016 10:37:56 -0600 Subject: [PATCH 3/5] Add test covering version display --- lib/octocatalog-diff/catalog-diff/cli.rb | 2 +- .../tests/catalog-diff/cli_spec.rb | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/lib/octocatalog-diff/catalog-diff/cli.rb b/lib/octocatalog-diff/catalog-diff/cli.rb index 2cf8b553..745a2921 100644 --- a/lib/octocatalog-diff/catalog-diff/cli.rb +++ b/lib/octocatalog-diff/catalog-diff/cli.rb @@ -166,7 +166,7 @@ def self.setup_logger(logger, options, argv_save) logger.level = Logger::ERROR if options[:quiet] # Some debugging information up front - version_display = "@#{ENV['OCTOCATALOG_DIFF_CUSTOM_VERSION']}" || VERSION + version_display = ENV['OCTOCATALOG_DIFF_CUSTOM_VERSION'] || VERSION logger.debug "Running octocatalog-diff #{version_display} with ruby #{RUBY_VERSION}" logger.debug "Command line arguments: #{argv_save.inspect}" logger.debug "Running on host #{Socket.gethostname} (#{RUBY_PLATFORM})" diff --git a/spec/octocatalog-diff/tests/catalog-diff/cli_spec.rb b/spec/octocatalog-diff/tests/catalog-diff/cli_spec.rb index 185b0b94..6b989a43 100644 --- a/spec/octocatalog-diff/tests/catalog-diff/cli_spec.rb +++ b/spec/octocatalog-diff/tests/catalog-diff/cli_spec.rb @@ -115,6 +115,37 @@ end end + describe '#setup_logger' do + context 'with custom version specified in environment' do + before(:each) do + ENV['OCTOCATALOG_DIFF_CUSTOM_VERSION'] = '@d05c30152c897219367d586414ccb1f651ab7221' + end + + after(:each) do + ENV.delete 'OCTOCATALOG_DIFF_CUSTOM_VERSION' + end + + it 'should log custom version' do + logger, logger_str = OctocatalogDiff::Spec.setup_logger + described_class.setup_logger(logger, { debug: true }, [{ foo: 'bar' }]) + expect(logger_str.string).to match(/Running octocatalog-diff @d05c30152c897219367d586414ccb1f651ab7221 with ruby/) + end + end + + context 'with default version' do + before(:each) do + ENV.delete 'OCTOCATALOG_DIFF_CUSTOM_VERSION' + end + + it 'should log current version' do + logger, logger_str = OctocatalogDiff::Spec.setup_logger + described_class.setup_logger(logger, { debug: true }, [{ foo: 'bar' }]) + version = described_class::VERSION + expect(logger_str.string).to match(/Running octocatalog-diff #{version} with ruby/) + end + end + end + describe '#setup_fact_overrides' do it 'should make no adjustments when there are no fact overrides' do options = {} From b990ae8525be998ab73fca41947630ebbe138132 Mon Sep 17 00:00:00 2001 From: Kevin Paulisse Date: Fri, 30 Dec 2016 10:38:57 -0600 Subject: [PATCH 4/5] Add @ in the wrapper for git sha --- script/octocatalog-diff-wrapper | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/octocatalog-diff-wrapper b/script/octocatalog-diff-wrapper index 8859c25e..8f3104ba 100755 --- a/script/octocatalog-diff-wrapper +++ b/script/octocatalog-diff-wrapper @@ -13,5 +13,5 @@ if [ -z "$OCTOCATALOG_DIFF_CONFIG_FILE" ]; then fi cd "$CHECKOUT_BASE" -export OCTOCATALOG_DIFF_CUSTOM_VERSION=$(git rev-parse HEAD) +export OCTOCATALOG_DIFF_CUSTOM_VERSION="@$(git rev-parse HEAD)" bundle exec bin/octocatalog-diff --basedir "$CURRENT_PWD" $* From a48de2bedacdacb5ed79591e5c635532e61fe4c3 Mon Sep 17 00:00:00 2001 From: Kevin Paulisse Date: Fri, 30 Dec 2016 10:41:16 -0600 Subject: [PATCH 5/5] Remove unused additional_argv --- spec/octocatalog-diff/tests/catalog-diff/cli_spec.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/octocatalog-diff/tests/catalog-diff/cli_spec.rb b/spec/octocatalog-diff/tests/catalog-diff/cli_spec.rb index 6b989a43..be1df526 100644 --- a/spec/octocatalog-diff/tests/catalog-diff/cli_spec.rb +++ b/spec/octocatalog-diff/tests/catalog-diff/cli_spec.rb @@ -127,7 +127,7 @@ it 'should log custom version' do logger, logger_str = OctocatalogDiff::Spec.setup_logger - described_class.setup_logger(logger, { debug: true }, [{ foo: 'bar' }]) + described_class.setup_logger(logger, { debug: true }, nil) expect(logger_str.string).to match(/Running octocatalog-diff @d05c30152c897219367d586414ccb1f651ab7221 with ruby/) end end @@ -139,7 +139,7 @@ it 'should log current version' do logger, logger_str = OctocatalogDiff::Spec.setup_logger - described_class.setup_logger(logger, { debug: true }, [{ foo: 'bar' }]) + described_class.setup_logger(logger, { debug: true }, nil) version = described_class::VERSION expect(logger_str.string).to match(/Running octocatalog-diff #{version} with ruby/) end