# Continuous Integration

> Install a pinned Elide release in GitHub Actions with setup-elide

The [setup-elide](https://github.com/elide-dev/setup-elide) action installs Elide and adds it to `PATH`. It
defaults to `nightly`; pin a release:

```yaml
- name: Set up Elide
  uses: elide-dev/setup-elide@v4.2.0
  with:
    version: 1.6.0
    channel: release
```

The action's README lists its other inputs and outputs.

## Example workflow

```yaml
name: CI
on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: elide-dev/setup-elide@v4.2.0
        with:
          version: 1.6.0
          channel: release
      - run: elide install --workspace
      - run: elide format --list-files -- --dry-run src
      - run: elide test
```

`elide install --workspace` installs every ecosystem the project declares; plain `elide install` installs Maven
only. The format step fails when a file under `src` needs formatting.

The action does not install Python. Add a step when the workflow needs it:

```yaml
- run: elide setup python
```
