Skip to content
Falko edited this page Jun 8, 2023 · 1 revision

Continuous Integration Pipeline in GitHub

A CI is used to make sure that the SEE project can be built and certain quality criteria are met (dynamic tests and static checks) whenever a pull request is to be merged into the master branch or even if anything is checked in or pushed.

The first step of the GitHub pipeline is the run_all file which is run as a pre-commit hook automatically.

It runs all shell scripts in /GitScripts/ locally.

/.github/workflow/main.yml

This is the main file of the GitHub Actions pipeline. It starts the pipeline when a push or a pull request happens for the master branch. One notable exception to this is that the Build workflow can be manually triggered.

If there is already a pipeline running from the same source, it is cancelled, and only the pipeline with the newest changes is run.

The following jobs are run when the pipeline is started:

  • setting up the repository ( setup )
  • check the repo with the scripts in /GitScripts/ ( gitscripts )
  • run static checks ( static )
    • this uses the check_for_bad_patterns.py and review_helper.js files under GitScripts, which scan the changes (via regular expressions) for unwanted changes, such as trailing whitespace.
  • run the editmode tests (no UnityUI needed) ( test )
  • detect build targets (setup_build_targets)
  • create builds (build)
  • clean up after the pipeline ( cleanup )
Clone this wiki locally