Skip to content

auto-run documented tool programs #187

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
8 of 9 tasks
markusicu opened this issue Dec 16, 2021 · 16 comments · Fixed by #205, #235 or #253
Closed
8 of 9 tasks

auto-run documented tool programs #187

markusicu opened this issue Dec 16, 2021 · 16 comments · Fixed by #205, #235 or #253
Assignees
Labels

Comments

@markusicu
Copy link
Member

markusicu commented Dec 16, 2021

In a CI workflow, run each documented tool program, like we currently run org.unicode.text.UCD.Main. Each tool should run successfully (not crash, not fail). For this issue, ignore the output.

List of tools:

Not a tool:

Skip:

@srl295
Copy link
Member

srl295 commented Jan 24, 2022

depends on knowing what the tools are => #191

@markusicu
Copy link
Member Author

Josh to find tools, Elango to help add them to CI.

@markusicu
Copy link
Member Author

Example: https://github.com/unicode-org/unicodetools/blob/main/docs/idna.md
--> add an entry in the issue description/checklist above for GenerateIdna.java
--> also add an entry for GenerateIdnaTest.java

@markusicu
Copy link
Member Author

Hi, just checking -- any progress? I think "Josh to find tools" comes first...?

@josh-hadley
Copy link
Collaborator

@markusicu @srl295 I went through and noted what appeared to be Tool-like items and added to the checklist above. Some of them might not be so easy (or appropriate) to auto-run.

@markusicu
Copy link
Member Author

markusicu commented Mar 7, 2022

Thanks @josh-hadley ! Taking a look...

  • EmojiFrequency: We don't seem to have its input file vendorRaw.tsv in the repo. Provide a dummy file?
  • ToolUnicodePropertySource: This is not a tool. No main(), and it's a class that provides properties to the tools, rather than being a tool.
  • GenerateEnums: This tool wants to overwrite two .java files in the repo source. For CI, we could add an option to have it write to /tmp or similar. Would be useful to fail if the generated output differs from the repo files.
  • GenerateUnihanCollatorFiles: This is a tiny tool that inserts the output data from GenerateUnihanCollators into CLDR data files. Probably ok not to add to CI.

@echeran do you feel unblocked?

@echeran
Copy link
Contributor

echeran commented Mar 7, 2022

@markusicu yes, that should unblock me

@markusicu
Copy link
Member Author

markusicu commented Mar 22, 2022

  • EmojiFrequency.java -- using non-public files from vendors, use stub files for smoke testing
  • GenerateEmoji.java needs a path to a separate, private "images" repo -- maybe use a workflow that is only invoked manually; could use a "deploy key" (GitHub secrets) on the images repo to ssh-fetch the images repo -- agreed out of scope for this issue, skip
  • UCA.Main -- run on data/dev files

@markusicu
Copy link
Member Author

@echeran EmojiFrequency.java still TBD?

@echeran
Copy link
Contributor

echeran commented Jun 29, 2022

@echeran EmojiFrequency.java still TBD?

@markusicu Yep, still need a dummy .tsv file from @macchiati for running that in CI.

@markusicu
Copy link
Member Author

@echeran EmojiFrequency.java still TBD?

@markusicu Yep, still need a dummy .tsv file from @macchiati for running that in CI.

@macchiati did you provide a dummy .tsv file to @echeran for running this tool?

@markusicu
Copy link
Member Author

@echeran EmojiFrequency.java still TBD?

@markusicu Yep, still need a dummy .tsv file from @macchiati for running that in CI.

@macchiati did you provide a dummy .tsv file to @echeran for running this tool?

ping @macchiati

@macchiati
Copy link
Member

macchiati commented Jul 31, 2022 via email

@markusicu
Copy link
Member Author

I looked at this, and it would take some work. So I would put it at a low priority.

Creating a dummy .tsv file would take some work? How much? An hour? An afternoon? A couple of days?
The goal is to routinely run EmojiFrequency.java so that we catch if & when it gets broken, not next time we need to run it.

@markusicu
Copy link
Member Author

Closing this issue as done. The one remaining tool (EmojiFrequency.java) will be tracked via new issue #338.

@macchiati
Copy link
Member

macchiati commented Oct 11, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment