8000 Use SOURCE_DATE_EPOCH from environment if present by ksperling-apple · Pull Request #38929 · project-chip/connectedhomeip · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Use SOURCE_DATE_EPOCH from environment if present #38929

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

Merged
merged 1 commit into from
May 14, 2025

Conversation

ksperling-apple
Copy link
Contributor
@ksperling-apple ksperling-apple commented May 14, 2025

Update the script that generates FirmwareBuildTime.h to use the timestamp from the SOURCE_DATE_EPOCH environment if it is present and ahead of the time stored in the fallback_last_known_good_time file. This allows the timestamp to be easily picked up from build systems that follow this standard for supplying the source timestamp (https://reproducible-builds.org/specs/source-date-epoch/)

Also do the conversion between POSIX and Matter epoch times by simple
offsetting, instead of dealing with time zones and calendars.

Testing

Tested locally that SOURCE_DATE_EPOCH is picked up correctly, and also that the script still operates correctly with the --use-current-time and --update-fallback-time-in-file options.

Update the script that generates FirmwareBuildTime.h to use the timestamp from
the SOURCE_DATE_EPOCH environment if it is present and ahead of the time stored
in the fallback_last_known_good_time file. This allows the timestamp to be
easily picked up from build systems that follow this standard for supplying the
source timestamp (https://reproducible-builds.org/specs/source-date-epoch/)

Also do the conversion between POSIX and Matter epoch times by simple
offsetting, instead of dealing with time zones and calendars.
Copy link
github-actions bot commented May 14, 2025

PR #38929: Size comparison from fdacd16 to a278dcd

Full report (73 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen) 8000
platform target config section fdacd16 a278dcd change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1101678 1101678 0 0.0
RAM 178994 178994 0 0.0
bl702 lighting-app bl702+eth FLASH 656472 656472 0 0.0
RAM 134941 134941 0 0.0
bl702+wifi FLASH 833750 833750 0 0.0
RAM 124481 124481 0 0.0
bl706+mfd+rpc+littlefs FLASH 1066582 1066582 0 0.0
RAM 117349 117349 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896152 896152 0 0.0
RAM 105688 105688 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 979926 979926 0 0.0
RAM 109836 109836 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 820180 820180 0 0.0
RAM 120208 120208 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 830232 830232 0 0.0
RAM 125376 125376 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 778456 778456 0 0.0
RAM 113780 113780 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 762764 762764 0 0.0
RAM 113988 113988 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 549034 549034 0 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 579722 579722 0 0.0
RAM 205376 205376 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 661693 661693 0 0.0
RAM 77236 77236 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 681545 681545 0 0.0
RAM 79876 79876 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 681545 681545 0 0.0
RAM 79876 79876 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 638485 638485 0 0.0
RAM 72304 72304 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 622981 622981 0 0.0
RAM 73532 73532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 642625 642625 0 0.0
RAM 76084 76084 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 642625 642625 0 0.0
RAM 76084 76084 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 642389 642389 0 0.0
RAM 76532 76532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 662105 662105 0 0.0
RAM 79084 79084 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 662105 662105 0 0.0
RAM 79084 79084 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618617 618617 0 0.0
RAM 70628 70628 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 638469 638469 0 0.0
RAM 73260 73260 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH638469 638469 0 0.0
RAM 73260 73260 0 0.0
efr32 lock-app BRD4187C FLASH 945116 945116 0 0.0
RAM 132024 132024 0 0.0
BRD4338a FLASH 771184 771176 -8 -0.0
RAM 173248 173248 0 0.0
window-app BRD4187C FLASH 1037144 1037144 0 0.0
RAM 128160 128160 0 0.0
esp32 all-clusters-app c3devkit DRAM 103320 103320 0 0.0
FLASH 1805474 1805474 0 0.0
IRAM 83846 83846 0 0.0
m5stack DRAM 121932 121932 0 0.0
FLASH 1770626 1770626 0 0.0
IRAM 117043 117043 0 0.0
linux air-purifier-app debug unknown 4848 4848 0 0.0
FLASH 2786968 2786968 0 0.0
RAM 115032 115032 0 0.0
all-clusters-app debug unknown 5656 5656 0 0.0
FLASH 6340660 6340660 0 0.0
RAM 533112 533112 0 0.0
all-clusters-minimal-app debug unknown 5528 5528 0 0.0
FLASH 5444952 5444952 0 0.0
RAM 225000 225000 0 0.0
bridge-app debug unknown 5560 5560 0 0.0
FLASH 4761388 4761388 0 0.0
RAM 204640 204640 0 0.0
camera-app debug unknown 8856 8856 0 0.0
FLASH 6883451 6883451 0 0.0
RAM 226168 226168 0 0.0
camera-controller debug unknown 9240 9240 0 0.0
FLASH 14309675 14309675 0 0.0
RAM 658416 658416 0 0.0
chip-tool debug unknown 6256 6256 0 0.0
FLASH 14591355 14591355 0 0.0
RAM 645168 645168 0 0.0
chip-tool-ipv6only arm64 unknown 40328 40328 0 0.0
FLASH 12572560 12572560 0 0.0
RAM 691456 691456 0 0.0
fabric-admin debug unknown 5936 5936 0 0.0
FLASH 12668741 12668741 0 0.0
RAM 644528 644528 0 0.0
fabric-bridge-app debug unknown 4808 4808 0 0.0
FLASH 4578426 4578426 0 0.0
RAM 190704 190704 0 0.0
fabric-sync debug unknown 5064 5064 0 0.0
FLASH 5718709 5718709 0 0.0
RAM 486560 486560 0 0.0
lighting-app debug+rpc+ui unknown 6264 6264 0 0.0
FLASH 5641777 5641777 0 0.0
RAM 207176 207176 0 0.0
lock-app debug unknown 5496 5496 0 0.0
FLASH 4813722 4813722 0 0.0
RAM 194440 194440 0 0.0
ota-provider-app debug unknown 4848 4848 0 0.0
FLASH 4439400 4439400 0 0.0
RAM 183888 183888 0 0.0
ota-requestor-app debug unknown 4800 4800 0 0.0
FLASH 4567164 4567164 0 0.0
RAM 187760 187760 0 0.0
shell debug unknown 4272 4272 0 0.0
FLASH 3078364 3078364 0 0.0
RAM 148072 148072 0 0.0
thermostat-no-ble arm64 unknown 9616 9616 0 0.0
FLASH 4224912 4224912 0 0.0
RAM 230864 230864 0 0.0
tv-app debug unknown 5832 5832 0 0.0
FLASH 6074533 6074533 0 0.0
RAM 610984 610984 0 0.0
tv-casting-app debug unknown 5416 5416 0 0.0
FLASH 12780909 12780909 0 0.0
RAM 765456 765456 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 919232 919232 0 0.0
RAM 167326 167326 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 911208 911208 0 0.0
RAM 145570 145570 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 856456 856456 0 0.0
RAM 141089 141089 0 0.0
nxp contact k32w0+release FLASH 591920 591920 0 0.0
RAM 72848 72848 0 0.0
mcxw71+release FLASH 624680 624680 0 0.0
RAM 63188 63188 0 0.0
light k32w0+release FLASH 617836 617836 0 0.0
RAM 72144 72144 0 0.0
k32w1+release FLASH 709152 709152 0 0.0
RAM 72036 72036 0 0.0
lock mcxw71+release FLASH 774208 774208 0 0.0
RAM 67612 67612 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1665268 1665268 0 0.0
RAM 212328 212328 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1569764 1569764 0 0.0
RAM 208504 208504 0 0.0
light cy8ckit_062s2_43012 FLASH 1445228 1445228 0 0.0
RAM 197216 197216 0 0.0
lock cy8ckit_062s2_43012 FLASH 1475236 1475236 0 0.0
RAM 224936 224936 0 0.0
qpg lighting-app qpg6105+debug FLASH 666788 666788 0 0.0
RAM 105164 105164 0 0.0
lock-app qpg6105+debug FLASH 625192 625192 0 0.0
RAM 99792 99792 0 0.0
stm32 light STM32WB5MM-DK FLASH 464532 464532 0 0.0
RAM 141416 141416 0 0.0
telink bridge-app tl7218x FLASH 693534 693534 0 0.0
RAM 101828 101828 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 772920 772920 0 0.0
RAM 49980 49980 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 780026 780026 0 0.0
RAM 109160 109160 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 702294 702294 0 0.0
RAM 62544 62544 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 740248 740248 0 0.0
RAM 85724 85724 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 606348 606348 0 0.0
RAM 119376 119376 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 815336 815340 4 0.0
RAM 107428 107428 0 0.0
tizen all-clusters-app arm unknown 5216 5216 0 0.0
FLASH 1812152 1812152 0 0.0
RAM 94832 94832 0 0.0
chip-tool-ubsan arm unknown 20600 20600 0 0.0
FLASH 20822742 20822742 0 0.0
RAM 9059864 9059864 0 0.0

@mergify mergify bot merged commit d6b2cee into project-chip:master May 14, 2025
72 checks passed
@ksperling-apple ksperling-apple deleted the source-date-epoch branch May 14, 2025 17:26
heinsaar pushed a commit to heinsaar/connectedhomeip that referenced this pull request May 15, 2025
Update the script that generates FirmwareBuildTime.h to use the timestamp from
the SOURCE_DATE_EPOCH environment if it is present and ahead of the time stored
in the fallback_last_known_good_time file. This allows the timestamp to be
easily picked up from build systems that follow this standard for supplying the
source timestamp (https://reproducible-builds.org/specs/source-date-epoch/)

Also do the conversion between POSIX and Matter epoch times by simple
offsetting, instead of dealing with time zones and calendars.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants
0