Skip to content
Olly Butters edited this page Feb 13, 2024 · 3 revisions

Azure devops pipelines lets us run PUMA automatically!

Directories which are kept together when running PUMA locally are split out into different repositories in this implementation due to a variety of reasons:

  • The actual PUMA code (https://github.com/OllyButters/puma)
  • The cache is in a private repo (these are not allowed to be public due to licencing rules).
  • The configs are in a private repo (these have API keys in them).
  • The html output set up to be served as gh-pages (this is in a separate repo as it was making the source repo too large).

The configuration which runs the PUMA pipeline (spin up a VM, check out and manage all of the other repos, run the pipeline, commit files back) is in the azure-pipelines.yml file in the html repo (https://github.com/OllyButters/puma_web).

Every time the pipeline is run it (likely) generates new cache files and output html files. Overtime the history in the repos gets really large and it starts to take a long time to check them out. This is why they are separate repos and not in the main source repo any more. The puma_web repo serves the html from a branch (gh-pages), so every now and then you could delete the branch and make a new one with the same name. The next time the pipeline runs it will just add fresh copies of everything. Note that the azure-pipelines.yml file that is used by Azure Pipelines to run PUMA is in the main branch of the puma_web repo, the one in the branch with the html files is just a copy. The same principle for managing the repo history is true for the cache repo.