@@ -33,7 +33,9 @@ source "$DEVBASE_LIB_DIR"/shell.sh
3333
3434ensure_bash_5_or_greater
3535
36+ repoDir=" $( get_repo_directory) "
3637repoCircleCIConfig=" .circleci/config.yml"
38+ fullRepoCircleCIConfigPath=" $repoDir /.circleci/config.yml"
3739org=" $( get_box_field org) "
3840
3941if [[ " $( get_app_name) " == " devbase" ]]; then
4244 isDevbaseItself=false
4345fi
4446
45- if [[ $# == 0 ]] && managed_by_stencil " $repoCircleCIConfig " && [[ $isDevbaseItself == " false" ]]; then
47+ if [[ $# == 0 && -z ${CIRCLECI_ORB_SYNC_FILES :- } ]] && managed_by_stencil " $repoCircleCIConfig " && [[ $isDevbaseItself == " false" ]]; then
4648 info " CircleCI config is managed by Stencil, skipping manual CircleCI orb sync" >&2
4749 exit 0
4850fi
6567
6668info " Replacing CircleCI shared orb version with $replaceVersion "
6769
68- configFiles=(" $repoCircleCIConfig " )
70+ configFiles=()
71+ if ! managed_by_stencil " $repoCircleCIConfig " ; then
72+ configFiles+=(" $fullRepoCircleCIConfigPath " )
73+ fi
74+
6975if [[ -n ${CIRCLECI_ORB_SYNC_FILES:- } ]]; then
70- readarray -t -d ' ' extraFiles < <( echo " $CIRCLECI_ORB_SYNC_FILES " )
71- configFiles+=(" ${extraFiles[@]} " )
76+ for extraFile in $CIRCLECI_ORB_SYNC_FILES ; do
77+ configFiles+=(" $repoDir /$extraFile " )
78+ done
7279fi
7380
7481for config in " ${configFiles[@]} " ; do
7582 info_sub " Updating $config "
7683 sed_replace " $org /shared@.\+" " $org /shared@$replaceVersion " " $config "
77- if [[ $config == " $repoCircleCIConfig " ]]; then
84+ if [[ $config == " $fullRepoCircleCIConfigPath " ]]; then
7885 circleci config validate --org-slug=" github/$org " " $config "
7986 fi
8087done
0 commit comments