cargo package by default builds the package for the default target, and this is what the current package job in CI does. However, this doesn't work well for us as we have many target-specific files, especially target-specific C and assembly/PerlAsm files.
Instead, we should recognize that a commit that is supposed to be the last one prior to a release, and run cargo package for every target for these commits, in addition to the normal test matrix, to ensure that the crate builds for all supported targets before publishing.
cargo package
by default builds the package for the default target, and this is what the currentpackage
job in CI does. However, this doesn't work well for us as we have many target-specific files, especially target-specific C and assembly/PerlAsm files.Instead, we should recognize that a commit that is supposed to be the last one prior to a release, and run
cargo package
for every target for these commits, in addition to the normal test matrix, to ensure that the crate builds for all supported targets before publishing.