--- a/ChangeLog Sun Jan 07 03:46:56 2018 -0600
+++ b/ChangeLog Sun Jan 07 04:07:53 2018 -0600
@@ -2,6 +2,7 @@
* Deprecated engine attribute, and changed type attribute to be {engine}/{type}. Warnings will be output if legacy formats are detected. Fixed # 143
* Unknown command line arguments are now fatal. Fixed #149
* convey/clean can now take a single string for it's files attribute. Fixed #148
+ * Fix running configs that extend other configs outside of the working directory. Fixed #150 * Changed TaskTimeout to PlanTimeout. Fixed # 134
--- a/examples/base.yml Sun Jan 07 03:46:56 2018 -0600
+++ b/examples/base.yml Sun Jan 07 04:07:53 2018 -0600
@@ -19,14 +19,16 @@
--- a/examples/extends-merge.yml Sun Jan 07 03:46:56 2018 -0600
+++ b/examples/extends-merge.yml Sun Jan 07 04:07:53 2018 -0600
@@ -2,6 +2,13 @@
# stages of a plan defined in the parent config. This shows how
# to build "abstract" plans which can be extended in ways that
# allow blocks of plans to be replaced.
@@ -19,10 +26,12 @@
--- a/examples/extends.yml Sun Jan 07 03:46:56 2018 -0600
+++ b/examples/extends.yml Sun Jan 07 04:07:53 2018 -0600
@@ -1,6 +1,10 @@
# This plan extends another plan by overwriting one of the tasks
# and defining its own, then defining its own plan. The two are
# merged where anything in the extending file overwrites the base.
@@ -23,4 +27,7 @@
# one is inherited from base.yml
# two is overridden from base.yml
- - tasks: [one, two, three]
--- a/loaders/convey/convey.go Sun Jan 07 03:46:56 2018 -0600
+++ b/loaders/convey/convey.go Sun Jan 07 04:07:53 2018 -0600
@@ -19,6 +19,7 @@
@@ -84,8 +85,10 @@
return nil, ErrMaxExtendsDepth
+ extendsAbsName := filepath.Join(path, cfg.Extends) - baseConfig, err = c.loadFile(cfg.Extends, allowDeprecated)
+ baseConfig, err = c.loadFile(extendsAbsName, allowDeprecated) // We can safely ignore no plans and no tasks errors here