validation.log
Start here. This is the human-readable report containing the errors and warnings. Messages normally identify the affected resource or file and, where possible, its field, column or row.
Run trusted GLC validation and request inclusion in the GLC Registry
The GLC validator checks whether a data package follows a supported version of the GLC Standard. Validation runs in the dataset's GitHub repository and produces a downloadable report containing its errors and warnings.
You need:
datapackage.json file at the repository root;datapackage.json; andReview the required structure and fields in the GLC Standard resource schemas. You can create or edit the metadata using the GLC Metadata Builder or prepare the files manually with a text editor.
A package exported by the GLC Metadata Builder has this structure:
your-package/
├── datapackage.json
├── README.txt
├── schemas/
│ └── 3.0.2/
│ ├── glc-dp-profile.json
│ └── … resource schemas
└── data/
├── study.json
├── participants.csv
├── participant_characteristics.csv (when provided)
├── devices.json
├── device_datasheet.json
├── datasets.json
└── datasets/
└── your-measurement-files.csv (add after export)
The builder exports the package descriptor, resource metadata and schema
files, but it cannot retain the original measurement files selected in the
browser. Add those files at the paths declared in data/datasets.json before
validation.
Folders below data/datasets/ may use descriptive names such as light/,
questionnaires/ or longitudinal-reports/. These are organizational
choices, not required folder names. Their paths must agree with the paths
declared in the package metadata.
datapackage.json at the repository root.
The supplied workflow expects this location and should be used unchanged.
Commit and push the complete package to GitHub before configuring validation.
Copy the contents of this one file from the validator repository:
Open the validation workflow template
The button opens the exact template file that must be copied.
Create this file in the dataset repository and paste the copied contents into it:
.github/workflows/validate-glc-dataset.yml
You do not need to copy the validator code, schema directories, Dockerfile or the validator repository.
.github/workflows/validate-glc-dataset.yml.
GitHub creates the two folders automatically.The workflow calls the centrally released GLC validator. Users do not need to install Python, Docker or the validator on their own computers.
Validation runs automatically when changes are pushed to main, when a pull
request is opened or updated, or when the workflow is started manually.
To start it manually:
A green check means validation passed. A red cross means that one or more errors prevented it from passing. A passing run can still contain warnings that should be reviewed.
The downloadable validation-report artifact is the main place to inspect the results:
validation.logStart here. This is the human-readable report containing the errors and warnings. Messages normally identify the affected resource or file and, where possible, its field, column or row.
validation.jsonThe structured report records the overall status, schema and validator versions, validation time, errors and warnings. It is also consumed by registry automation.
validated-files-manifest.jsonA checksum manifest showing exactly which file contents were validated. It establishes the identity of the validated package; it is not the main error report.
exit_code.txt
Contains 0 when validation passed and 1 when
validation failed.
Errors prevent the package from passing. Examples include an absent required field, an invalid type or format, a missing referenced file, a broken identifier reference, or a quantitative variable without its required unit.
Warnings do not prevent the package from passing. They identify issues worth reviewing, such as missing source-data cells or uneven row widths.
Correct errors in the package, commit and push the changes, and inspect the new workflow run. Validation applies to one exact commit: an older passing report does not validate later changes.
The validation step within the GitHub Actions job also displays the messages, but the artifact is easier to download, retain and inspect.
Passing validation does not automatically publish a repository in the registry. The dataset owner proposes an entry, automated checks verify the validation evidence, and a GLC maintainer reviews the request.
The registry repository maintains its list in
datasets.yml.
Only submit a request after the dataset’s main branch has a passing
validation run for its current commit.
Add an entry under datasets: without deleting any existing entries:
- id: your-dataset-name
repo: github-owner/your-dataset-repository
branch: main
For example:
- id: melidos-iztech-glc-dataset
repo: tscnlab/melidos-iztech-glc-dataset
branch: main
id is a short, unique name for the registry entry.repo is the exact GitHub repository in owner/repository form.branch is the validated branch, normally main.Do not enter the status, schema version, commit hash or validation date manually. Registry automation reads those values from the trusted validation artifact for the exact dataset commit.
If you can edit the registry repository:
datasets.yml.main branch.If GitHub does not allow you to edit the file, fork tscnlab/glc-registry,
edit datasets.yml in your fork, and open a pull request from that fork to
tscnlab/glc-registry:main.
The automated pull-request check:
pass.After publication, the registry displays the validated repository, commit, schema version, status and validation time. The result applies only to that commit and schema version—not to later commits or later GLC schema versions.
The Send to LLW action is a separate optional step for passing packages that should be sent to LightLogWeb. Registry inclusion alone does not transfer the dataset.