Run the import in CI
During a migration, Talend jobs keep changing until the day they are switched off. Re-run the import on every change, and let the exit code tell the pipeline whether something broke.
The command
<hop>/hop-import.sh -t talend -i talend-project -o hop-output --no-skip-existing
--no-skip-existing makes every run write the current conversion, so the output always matches
the input.
Exit codes
| Exit code | Meaning | In CI |
|---|---|---|
0 | Every job converted | Pass |
1 | The import crashed, or the input path does not exist | Fail |
2 | The command line could not be parsed | Fail |
3 | The import finished, but at least one job failed to parse or convert; the report lists them under Jobs that failed to import | Fail, or warn while you work through them |
A component that fails to convert does not fail its job: it becomes a placeholder and is
reported. So exit code 0 means every job produced a pipeline, not that every component
converted. Read the report for that.
Keep the output reviewable
The importer writes the same files for the same input, apart from the creation date and user that Hop stores in every pipeline and workflow: no ordering that depends on hashing, no generated ids. Commit the output, and the diff of each change shows exactly what the Talend change did to the Hop side. Keep the report in the commit too: the change in its Totals is the progress of the migration.