blob: 068d0441b1df5c233df77cfc51271c719f16a4a3 [file] [log] [blame]
Mohammed Naser86615772024-06-01 10:02:09 -04001# SPDX-License-Identifier: Apache-2.0
2
3import argparse
4import pathlib
5from datetime import datetime
6
7
8def update_dockerfile(dockerfile, timestamp):
9 rebuild_line = f"# Atmosphere-Rebuild-Time: {timestamp}"
10
11 lines = dockerfile.read_text().splitlines()
12 new_lines = []
13 rebuild_line_found = False
14
15 for line in lines:
16 if line.startswith("# Atmosphere-Rebuild-Time: "):
17 new_lines.append(rebuild_line)
18 rebuild_line_found = True
19 else:
20 new_lines.append(line)
21
22 if not rebuild_line_found:
23 new_lines.insert(1, rebuild_line) # Insert after SPDX line
24
25 dockerfile.write_text("\n".join(new_lines) + "\n")
26
27
28def main():
29 parser = argparse.ArgumentParser()
30 parser.add_argument("--rebuild", action="store_true")
31 parser.add_argument(
32 "dockerfiles", type=pathlib.Path, nargs="+", help="List of Dockerfiles"
33 )
34 args = parser.parse_args()
35
36 if args.rebuild:
37 now_utc = datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%SZ")
38
39 for dockerfile in args.dockerfiles:
40 update_dockerfile(dockerfile, now_utc)
41
42
43if __name__ == "__main__":
44 main()