Skip to content
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

aop nondeterministic #60

Closed
koelnconcert opened this issue Nov 19, 2024 · 1 comment
Closed

aop nondeterministic #60

koelnconcert opened this issue Nov 19, 2024 · 1 comment

Comments

@koelnconcert
Copy link

I have the following hello.usage:

hello (foo={{{ echo bar }}} | bar={{{ echo foo }}});

I compile with complgen aot --bash-script hello.bash hello.usage.

When compiling multiple times I see at least three different contents for hello.bash, e.g. the function _hello_cmd_0 gets renamed to _hello_cmd_1 and vice versa. So far I saw this only happening when the usage file contains multiple external command outputs.

Functionally all behave the same, but is there a way the aop command deterministic/idempontent, so that the same usage-file always produces the same bash-script?

I want to run complgen in a build pipeline on every commit. And a reproducible build pipeline should always create the same content, when the source (here usage file) hasn't changed.

adaszko added a commit that referenced this issue Dec 1, 2024
@adaszko
Copy link
Owner

adaszko commented Dec 1, 2024

Hi. Take a look at the latest master branch. I don't see the _hello_cmd_X names variability anymore. There may be additional sources of non-determinism left that should also be fixable.

@adaszko adaszko closed this as completed Dec 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants