Skip to content

Commit 41cc135

Browse files
committed
refactor: Move adding an arch case to a function
1 parent c8d6f3e commit 41cc135

File tree

1 file changed

+16
-14
lines changed

1 file changed

+16
-14
lines changed

x.py

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -83,36 +83,34 @@ def update_debian():
8383
slim_template = read_file("Dockerfile-slim.template")
8484

8585
for release in debian_releases:
86-
arch_case = 'dpkgArch="$(dpkg --print-architecture)"; \\\n'
87-
arch_case += ' case "${dpkgArch##*-}" in \\\n'
86+
arch_cases_str = 'dpkgArch="$(dpkg --print-architecture)"; \\\n'
87+
arch_cases_str += ' case "${dpkgArch##*-}" in \\\n'
8888
for debian_arch in release.arches:
89-
hash = rustup_hash(debian_arch.rust)
90-
arch_case += f" {debian_arch.dpkg}) rustArch='{debian_arch.rust}'; rustupSha256='{hash}' ;; \\\n"
91-
arch_case += end
89+
arch_cases_str += arch_case(debian_arch.dpkg, debian_arch.rust)
90+
arch_cases_str += end
9291

9392
for channel in supported_channels:
9493
rendered = template \
9594
.replace("%%RUST-VERSION%%", channel.rust_version) \
9695
.replace("%%RUSTUP-VERSION%%", rustup_version) \
9796
.replace("%%DEBIAN-SUITE%%", release.name) \
98-
.replace("%%ARCH-CASE%%", arch_case)
97+
.replace("%%ARCH-CASE%%", arch_cases_str)
9998
write_file(f"{channel.name}/{release.name}/Dockerfile", rendered)
10099

101100
rendered = slim_template \
102101
.replace("%%RUST-VERSION%%", channel.rust_version) \
103102
.replace("%%RUSTUP-VERSION%%", rustup_version) \
104103
.replace("%%DEBIAN-SUITE%%", release.name) \
105-
.replace("%%ARCH-CASE%%", arch_case)
104+
.replace("%%ARCH-CASE%%", arch_cases_str)
106105
write_file(f"{channel.name}/{release.name}/slim/Dockerfile", rendered)
107106

108107
def update_alpine():
109-
arch_case = 'apkArch="$(apk --print-arch)"; \\\n'
110-
arch_case += ' case "$apkArch" in \\\n'
108+
arch_cases_str = 'apkArch="$(apk --print-arch)"; \\\n'
109+
arch_cases_str += ' case "$apkArch" in \\\n'
111110
for arch in alpine_arches:
112-
hash = rustup_hash(arch.rust)
113-
arch_case += f" {arch.apk}) rustArch='{arch.rust}'; rustupSha256='{hash}' ;; \\\n"
114-
arch_case += ' *) echo >&2 "unsupported architecture: $apkArch"; exit 1 ;; \\\n'
115-
arch_case += ' esac'
111+
arch_cases_str += arch_case(arch.apk, arch.rust)
112+
arch_cases_str += ' *) echo >&2 "unsupported architecture: $apkArch"; exit 1 ;; \\\n'
113+
arch_cases_str += ' esac'
116114

117115
template = read_file("Dockerfile-alpine.template")
118116

@@ -122,9 +120,13 @@ def update_alpine():
122120
.replace("%%RUST-VERSION%%", channel.rust_version) \
123121
.replace("%%RUSTUP-VERSION%%", rustup_version) \
124122
.replace("%%TAG%%", version) \
125-
.replace("%%ARCH-CASE%%", arch_case)
123+
.replace("%%ARCH-CASE%%", arch_cases_str)
126124
write_file(f"{channel.name}/alpine{version}/Dockerfile", rendered)
127125

126+
def arch_case(distro_arch, rust_arch):
127+
rustup_sha256 = rustup_hash(rust_arch)
128+
return f" {distro_arch}) rustArch='{rust_arch}'; rustupSha256='{rustup_sha256}' ;; \\\n"
129+
128130
def update_ci():
129131
file = ".github/workflows/ci.yml"
130132
config = read_file(file)

0 commit comments

Comments
 (0)