The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.6 KiB
43 lines
1.6 KiB
# 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. |
|
|
|
## 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 triggered 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 directory 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 |
|
functionality. |
|
|
|
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.
|
|
|