Add optional faketime jobs to run build and autopkgtest on arbitrary future date
In past couple of years people have worked to make their packages Y2038 proof. We also have initiatives like testing that packages don't stop building during the supported release time (see https://lists.debian.org/debian-devel/2024/05/msg00414.html by @sanvila).
Future-profing code (literally :)) like this can fairly easily be done by running the build container under faketime.
We could for example introduce a new variable SALSA_CI_ENABLE_FAKETIME_TEST_DATE
which would by default be zero or empty. However, if any value is configured for that, two extra jobs would run: build_faketime and autopkgtest_faketime. These would be otherwise identical to regular build and autopkgtest jobs, but prefixed with faketime $SALSA_CI_ENABLE_FAKETIME_TEST_DATE
. For example SALSA_CI_ENABLE_FAKETIME_TEST_DATE=2038-01-20
.
This job could be used pre-emptively for testing, or temporarily to validate that a future time related bug is fixed correctly before uploading to Debian archives.