diff --git a/maintainers/scripts/create-amis.sh b/maintainers/scripts/create-amis.sh index 985eea727f17..8ed242001d3c 100755 --- a/maintainers/scripts/create-amis.sh +++ b/maintainers/scripts/create-amis.sh @@ -7,30 +7,35 @@ buildAndUploadFor() { system="$1" arch="$2" + echo "building $system image..." NIXOS_CONFIG=$NIXOS/modules/virtualisation/amazon-config.nix nix-build "$NIXOS" \ -A config.system.build.amazonImage --argstr system "$system" -o ec2-ami ec2-bundle-image -i ./ec2-ami/nixos.img --user "$AWS_ACCOUNT" --arch "$arch" \ -c "$EC2_CERT" -k "$EC2_PRIVATE_KEY" - name="$(echo nixos-$arch-r$revision | tr '[A-Z]_' '[a-z]-')" - bucket="$name-eu" - ec2-upload-bundle -b "$bucket" -m /tmp/nixos.img.manifest.xml \ - -a "$AWS_ACCESS_KEY_ID" -s "$AWS_SECRET_ACCESS_KEY" --location EU + for region in eu-west-1 us-east-1 us-west-1; do + echo "uploading $system image for $region..." - region="eu-west-1" + name="$(echo nixos-$arch-r$revision | tr '[A-Z]_' '[a-z]-')" - kernel=$(ec2-describe-images -o amazon --filter "manifest-location=*pv-grub-hd0_1.02-$arch*" --region "$region" | cut -f 2) - echo "using PV-GRUB kernel $kernel" + bucket="$name-$region" - ami=$(ec2-register "$bucket/nixos.img.manifest.xml" -n "$bucket" -d "NixOS $system r$revision" \ - --region "$region" --kernel "$kernel" | cut -f 2) + ec2-upload-bundle -b "$bucket" -m /tmp/nixos.img.manifest.xml \ + -a "$AWS_ACCESS_KEY_ID" -s "$AWS_SECRET_ACCESS_KEY" --location "$region" - echo "AMI ID is $ami" + kernel=$(ec2-describe-images -o amazon --filter "manifest-location=*pv-grub-hd0_1.02-$arch*" --region "$region" | cut -f 2) + echo "using PV-GRUB kernel $kernel" - echo "$system" "$region" "$ami" >> amis + ami=$(ec2-register "$bucket/nixos.img.manifest.xml" -n "$name" -d "NixOS $system r$revision" \ + --region "$region" --kernel "$kernel" | cut -f 2) - ec2-modify-image-attribute "$ami" -l -a all + echo "AMI ID is $ami" + + echo "$system" "$region" "$ami" >> amis + + ec2-modify-image-attribute --region "$region" "$ami" -l -a all + done } #buildAndUploadFor i686-linux i386