carbon-language / carbon-lang

Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)
https://github.com/carbon-language/carbon-lang/blob/trunk/README.md
Other
32.31k stars 1.48k forks source link

Fix the installable archive build. #4064

Closed chandlerc closed 1 week ago

chandlerc commented 1 week ago

There was a file that got into the testing filegroups but not the actual built tarball. The result was that the installation failed to locate itself correctly.

We also didn't have any testing to catch this. I'd like to add a bit more end-to-end testing long-term, but for now just add a Python test that validates the same set of files are in both.

Sadly, building and testing the compressed release is really slow and not likely worthwhile outside of the actual release, but it would be good to catch this stuff earlier. I tried switching from bz2 to gz, which made very little file size difference (so we should do it anyways), and it is still too slow to do routinely. Instead, I've added a Starlark macro that builds both the pkg_tar and the py_test to validate it for both uncompressed tar and compressed tar.gz. This lets us continuously test the tar version, and just test the tar.gz in the nightly release run.

Updates the nightly release workflow to both test, run this specific test, and use gz.

Last but not least, removes the pkg_zip as I don't think we have a use case for this yet and some TODOs that should have been removed when the version got added.