diff options
author | Daniel Mensinger <daniel@mensinger-ka.de> | 2020-06-22 22:27:28 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2020-06-24 22:43:38 +0300 |
commit | 08f29c18123f1c77866638b9c595a6c2fff163b3 (patch) | |
tree | 14a141d873acb779e203b02d8092cc84cc712d43 /docs | |
parent | 83df219747088ec1278cb66ca29d09645185218f (diff) | |
download | meson-08f29c18123f1c77866638b9c595a6c2fff163b3.zip meson-08f29c18123f1c77866638b9c595a6c2fff163b3.tar.gz meson-08f29c18123f1c77866638b9c595a6c2fff163b3.tar.bz2 |
docs: Add initial docs for the Meson CI [skip ci]
Diffstat (limited to 'docs')
-rw-r--r-- | docs/markdown/MesonCI.md | 53 | ||||
-rw-r--r-- | docs/sitemap.txt | 1 |
2 files changed, 54 insertions, 0 deletions
diff --git a/docs/markdown/MesonCI.md b/docs/markdown/MesonCI.md new file mode 100644 index 0000000..73b979b --- /dev/null +++ b/docs/markdown/MesonCI.md @@ -0,0 +1,53 @@ +# Meson CI setup + +This document is aimed for Meson contributors and documents +the CI setup used for testing Meson itself. The Meson +project uses multiple CI platforms for covering a wide +range of target systems. + +## Travis CI + +The travis configuration file is the `.travis.yml` in the +the project root. This platform tests cross compilation and +unity builds on a [linux docker image](#docker-images) and +on OSX. + +## GitHub actions + +The configuration files for GitHub actions are located in +`.github/workflows`. Here, all [images](#docker-images) +are tested with the full `run_tests.py` run. Additionally, +some other, smaller, tests are run. + +## Docker images + +The Linux docker images are automatically built and +uploaded by GitHub actions. An image rebuild is triggerd +when any of the image definition files are changed (in +`ci/ciimage`) in the master branch. Additionally, the +images are also updated weekly. + +Each docker image has one corresponding dirctory in +`ci/ciimage` with an `image.json` and an `install.sh`. + +### Image generation + +There are no manual Dockerfiles. Instead the Dockerfile is +automatically generated by the `build.py` script. This is +done to ensure that all images have the same layout and can +all be built and tested automatically. + +The Dockerfile is generated from the `image.json` file and +basically only adds a few common files and runs the +`install.sh` script which should contain all distribution +specific setup steps. The `common.sh` can be sourced via +`source /ci/common.sh` to access some shared functionalety. + +To generate the image run `build.py -t build <image>`. A +generated image can be tested with `build.py -t test <image>`. + +### Common image setup + +Each docker image has a `/ci` directory with an +`env_vars.sh` script. This script has to be sourced before +running the meson test suite. diff --git a/docs/sitemap.txt b/docs/sitemap.txt index 1aef1c1..be1d908 100644 --- a/docs/sitemap.txt +++ b/docs/sitemap.txt @@ -118,5 +118,6 @@ index.md Using-multiple-build-directories.md Vs-External.md Contributing.md + MesonCI.md legal.md Videos.md |