There are various checks we might want to perform against Cylc workflow projects, e.g:
- We could run cylc linton the workflow to make sure it satisfies style recommendations.
- We might want to check the workflow is valid with the latest Cylc version using  cylc validate.
- We could check any Rose configuration are valid using rose macro -V.
To make running such checks in GitHub actions, we have provided a setup-cylc action that will install Cylc for use in your CI jobs. At present it has two options:
- cylc_version- optional: specify the version of Cylc 8 to install.
- cylc_rose- optional: install cylc-rose and metomi-rose.
Here’s an example job definition showing how setup-cylc can be used:
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Setup Cylc
        uses: cylc/setup-cylc@v1
        with:
          cylc_rose: true
      - name: Run Cylc Tests
        run: |
          cylc validate ./my-workflow
          cylc lint ./my-workflow
      - name: Run Rose Tests
        run: |
          rose macro -V -C ./my-workflow
          rose metadata-check -C ./my-workflow/meta
          rose metadata-check -C ./my-workflow/app/my-app/meta
For more information, see the Setup Cylc action on GitHub Marketplace: