From b726b109ab54e0b651b3389112b72e2dcbed1b9c Mon Sep 17 00:00:00 2001 From: kpcyrd Date: Thu, 22 Jul 2021 15:04:32 +0200 Subject: [PATCH] Repro builds: Deterministically iterate through docker/ folder --- build.rs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/build.rs b/build.rs index 8876980e7..52d5e7c87 100644 --- a/build.rs +++ b/build.rs @@ -1,7 +1,7 @@ use std::env; use std::error::Error; -use std::fs::{read_dir, File}; -use std::io::Write; +use std::fs::File; +use std::io::{self, Write}; use std::path::PathBuf; use std::process::Command; @@ -63,8 +63,13 @@ fn docker_images() -> String { let mut images = String::from("["); let mut dir = PathBuf::from(env::var_os("CARGO_MANIFEST_DIR").unwrap()); dir.push("docker"); - for entry in read_dir(dir).unwrap() { - let path = entry.unwrap().path(); + + let dir = dir.read_dir().unwrap(); + let mut paths = dir.collect::>>().unwrap(); + paths.sort_by_key(|e| e.path()); + + for entry in paths { + let path = entry.path(); let file_name = path.file_name().unwrap().to_str().unwrap(); if file_name.starts_with("Dockerfile.") { images.push_str("\""); @@ -72,6 +77,7 @@ fn docker_images() -> String { images.push_str("\", "); } } + images.push_str("]"); images }