Custom config and .travis.yml were merged after "triggering custom build"

After “triggering a custom build” I receive an error “cd reposter - dir not found” despite not having this command in specified config (at least not at that stage).

https://travis-ci.org/vanyakosmos/memes-reposter/jobs/570353321

Here is config(s) itself:
https://travis-ci.org/vanyakosmos/memes-reposter/jobs/570353321/config

api.json is the config that I have specified for the custom build. cd reposter is only inside before_install.

.travis.yml is the config from repo and it shouldn’t be used in the current build. Here cd reposter is inside before_script.

And it looks like that both configs were merged together and now I have 2 cd reposter and the error.

This is in accordance with https://docs.travis-ci.com/user/triggering-builds#customizing-the-build-configuration:

Choose one of the following merge modes to determine how the original build configuration (in the .travis.yml file), and the configuration specified in your API request are combined:

  • replace replaces the full, original build configuration with the configuration in the API request body
  • merge ( default ) replaces sections in the original configuration with the configuration in the API request body
  • deep_merge merges the configuration in the API request body into the build configuration

As can be seen from the following example, merge mode is specified with merge_mode: at top level of the custom config.

1 Like
Imprint