Currently chaining happens at a higher level than things like the with-profile task. This can lead to surprising results where lein with-profile go test, jar has the "go" profile applied to the test task but not the jar task.
lein with-profile go test, jar
One solution would be to "lift" chaining into its own task so that it can be nested inside: lein with-profile go do test, jar
lein with-profile go do test, jar
Move task chaining to do task. Fixes #632.