# Continuous Integration

PDAL regression tests are run on a per-commit basis using GitHub Actions

## Configuration

Continuous integration configuration is modified by manipulating configuration files in to locations:

- `./github/workflows`

- `./scripts/ci`

Linux, OSX, and Windows builds are all configured separately with scripts in the `./scripts/ci` directory.

## Dependencies

All of the tests use Conda Forge for dependencies.

The Linux builder has a “fixed” configuration that pins GDAL to a specific version to prevent the rest of the dependency tree from floating according to Conda Forge’s package dependency rules.

## Docs

Docs are always built and doc artifacts are attached to the build:

- HTML

- PDF

- Misspelled words

### Push to pdal.io

Docs are pushed to pdal.io under the following conditions:

- Doc building succeeds

- The push branch denoted in `./github/workflows/docs.yaml` matches the current `*-maintenance` branch.