Tip: running Cylc in GitHub actions

There are various checks we might want to perform against Cylc workflow projects, e.g:

  • We could run cylc lint on 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:

2 Likes