This action validates Instruqt lab configurations using the instruqt lab validate command.
This action requires the Instruqt CLI to be installed. Use the instruqt/cli/setup action first.
Required Path to the lab directory or HCL file to validate.
Optional Whether to fail the action on validation errors. Default: true.
The validation status: success or failed.
The full output from the instruqt lab validate command.
steps:
- uses: actions/checkout@v4
- uses: instruqt/cli/setup@v1
- uses: instruqt/cli/validate@v1
with:
path: ./labsteps:
- uses: actions/checkout@v4
- uses: instruqt/cli/setup@v1
- uses: instruqt/cli/validate@v1
with:
path: ./lab-1
- uses: instruqt/cli/validate@v1
with:
path: ./lab-2strategy:
matrix:
lab: [./lab-1, ./lab-2, ./lab-3]
steps:
- uses: actions/checkout@v4
- uses: instruqt/cli/setup@v1
- uses: instruqt/cli/validate@v1
with:
path: ${{ matrix.lab }}steps:
- uses: actions/checkout@v4
- uses: instruqt/cli/setup@v1
- uses: instruqt/cli/validate@v1
with:
path: ./lab
fail-on-error: false
- name: Check validation result
if: steps.validate.outputs.status == 'failed'
run: echo "Validation failed but continuing..."==> Validating lab...
[SUCCESS] Lab is valid
==> Validating lab...
[ERROR] Error:
Missing required field "description" in task resource "first_task"
/path/to/lab/tasks.hcl:5,1-15
5 | resource "task" "first_task" {
Lab is not valid
- Clean output: Preserves the native
instruqt lab validateformatting - Job summaries: Creates collapsible summaries in the GitHub Actions UI
- Flexible error handling: Option to continue on validation failures
- Grouped output: Uses GitHub Actions groups for better readability