Official GitHub Action to create CI/CD pipelines that validate Flows or Templates before deploying to your Kestra server.
This action could be used within a workflow that runs when a Pull Request
is triggered.
The Action version is based on the Kestra Version. Only Kestra v0.6.1+ is supported.
- Take a folder in input containing your
Flow
orTemplate
as yaml files. The action look recursively meaning resources in subfolder will be validated too. - For each resource, 2 outputs are possible:
- ':heavy_check_mark: flow-id' when your resource is validated.
- ':x: filename' when an error was found in your resource. Following by the error message.
Inputs | Required | Default | Description |
---|---|---|---|
directory |
✔️ | Folder containing your resources | |
resource |
✔️ | Resource you want to update in your namespace, can be flow or template |
|
server |
❌ | URL of your Kestra server, if none is provided, validation is done locally | |
user |
❌ | User for the basic auth | |
password |
❌ | Password for the basic auth |
The validation can be done locally with the client, but if you have custom plugin or want your Flows
to be validated
with TaskDefaults included, it may be more interesting to validate your resources on the server-side.
Validation | Server-side | Client-side |
---|---|---|
Format | :heave_check_mark: | :heave_check_mark: |
Plugins properties | :heave_check_mark: | ❌ |
Customs plugin | :heave_check_mark: | ❌ |
Flows TaskDefaults | :heave_check_mark: | ❌ |
Depending on your Kestra edition, you may need to include user
and password
to authenticate
on the server.
Example with Flows
, validated on the server-side
.
- name: flow update namespace action
uses: actions/kestra-validate-action@develop
with:
resource: flow
directory: ./kestra/flows
server: https:/kestra.io
Example with Templates
, validated locally with the Kestra Client
.
- name: template update namespace action
uses: actions/kestra-validate-action@develop
with:
resource: template
directory: ./kestra/templates