You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've reported this issue in the past in #743, but back then the problem was how the package was gzip'd. Now, the problem seems to be the metadata that has been added in #1016. For Rust, the metadata contains the heap size during the build. This is not stable, not even on the same machine.
{
"build_info": {
"mem_heap_alloc": 2891104
}
}
Just as in #743, this is a problem for us since we deploy our Compute@Edge service using Terraform from multiple machines. To ensure the package is up-to-date locally, we rebuild it as part of terraform plan. The unstable hash causes Terraform to redeploy the service every time, even though nothing about the code has actually changed.
Disabling metadata works around this issue:
fastly compute build --metadata-disable
That is fine for now, but I feel a bit uncomfortable having to opt-out of a new feature just because it breaks our change detection. If it was stable, it might actually allow us to enforce consistent versions of the Rust compiler and the CLI across developers.
It's also unfortunate that it does not seem to be possible to configure the metadata per repository. fastly config metadata --disable-build is globally applied on the local machine. If another developer checks out the repository on their machine, they'd have to run this as well. It would be helpful if [wasm-metadata] was read from fastly.toml in each project, and not the per-user configuration on each machine.
Happy to provide more information on both our process or setup if it helps. 🙂
The text was updated successfully, but these errors were encountered:
Version
What happened
Running
fastly compute build
twice changes the package hash without any changes to the code.I've reported this issue in the past in #743, but back then the problem was how the package was gzip'd. Now, the problem seems to be the metadata that has been added in #1016. For Rust, the metadata contains the heap size during the build. This is not stable, not even on the same machine.
Just as in #743, this is a problem for us since we deploy our Compute@Edge service using Terraform from multiple machines. To ensure the package is up-to-date locally, we rebuild it as part of
terraform plan
. The unstable hash causes Terraform to redeploy the service every time, even though nothing about the code has actually changed.Disabling metadata works around this issue:
That is fine for now, but I feel a bit uncomfortable having to opt-out of a new feature just because it breaks our change detection. If it was stable, it might actually allow us to enforce consistent versions of the Rust compiler and the CLI across developers.
It's also unfortunate that it does not seem to be possible to configure the metadata per repository.
fastly config metadata --disable-build
is globally applied on the local machine. If another developer checks out the repository on their machine, they'd have to run this as well. It would be helpful if[wasm-metadata]
was read fromfastly.toml
in each project, and not the per-user configuration on each machine.Happy to provide more information on both our process or setup if it helps. 🙂
The text was updated successfully, but these errors were encountered: