1

I have an online course platform project. The tree looks like this:

app
-- edxapp
   -- edx-platform
      -- circle.yml

I want to run the circle.yml in the edx-platform directory. I've followed their documentation here.

First, I created a new circle.yml in the root directory so that the tree looks like this:

circle.yml
app
-- edxapp
   -- edx-platform
      -- circle.yml

The new circle.yml contains the following:

general:
  build_dir: app/edxapp/edx-platform

But, it still didn't work. Then I tried another way. I linked the circle.yml files so that I have one circle.yml in each directory. Each circle.yml just contains the build_dir key with its value pointing to the next sub directory.

Please give me an explanation why this doesn't work. Also, please give me an alternative way to do it.

Note: The project structure has to be the same.

Lukas Herman
  • 170
  • 2
  • 9

1 Answers1

3

circle.yml needs to be in the root directory of a repository. That file in any other location will not be processed by CircleCI. Anything that you need to do (any commands, etc), needs to be done from that root file.

build-dir changes where the commands from circle.yml are run from, not where the file should be. In essence, whichever directory is set as build-dir, that becomes the working directory for commands in circle.yml. More details in CircleCI Docs.


In summary, have only 1 circle.yml directory, in the root of your repository. If you had a command ls, this would print the directory listing for ~/MY-REPO-NAME. If you set the build-dir to:

general:
  build_dir: app/edxapp/edx-platform

then that same ls command will now print the directory listing of ~/MY-REPO-NAME/app/edxapp/edx-platform.

Regards,
Ricardo N Feliciano
Developer Evangelist, CircleCI

FelicianoTech
  • 3,894
  • 2
  • 13
  • 18