mirror of
https://github.com/cirruslabs/macos-image-templates.git
synced 2026-09-30 03:42:04 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0f02d0a14f | ||
|
|
7be84bd9d9 | ||
|
|
8c1d1b889a | ||
|
|
703e5f8e35 | ||
|
|
94dc6c6d03 | ||
|
|
7e5b78ae4c | ||
|
|
42b40752b5 | ||
|
|
072558f6ab | ||
|
|
e4af3c70c1 | ||
|
|
55ec020db9 | ||
|
|
a7bdd003d4 |
+8
-2
@@ -39,8 +39,14 @@ task:
|
||||
build_script:
|
||||
- packer init templates/xcode.pkr.hcl
|
||||
- packer build -var-file="variables.pkrvars.hcl" -var xcode_version="$CIRRUS_TAG" templates/xcode.pkr.hcl
|
||||
push_script:
|
||||
- tart push ventura-xcode:$CIRRUS_TAG ghcr.io/cirruslabs/macos-ventura-xcode:$CIRRUS_TAG ghcr.io/cirruslabs/macos-ventura-xcode:latest
|
||||
push_script: |
|
||||
if [[ $CIRRUS_TAG == *"beta"* ]]
|
||||
then
|
||||
tart push ventura-xcode:$CIRRUS_TAG ghcr.io/cirruslabs/macos-ventura-xcode:$CIRRUS_TAG
|
||||
else
|
||||
tart push ventura-xcode:$CIRRUS_TAG ghcr.io/cirruslabs/macos-ventura-xcode:$CIRRUS_TAG ghcr.io/cirruslabs/macos-ventura-xcode:latest
|
||||
fi
|
||||
-
|
||||
always:
|
||||
cleanup_script:
|
||||
- tart delete ventura-base || true
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
packer {
|
||||
required_plugins {
|
||||
tart = {
|
||||
version = ">= 0.5.4"
|
||||
version = ">= 1.2.0"
|
||||
source = "github.com/cirruslabs/tart"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
variable "macos_version" {
|
||||
type = string
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "gha_version" {
|
||||
type = string
|
||||
type = string
|
||||
}
|
||||
|
||||
source "tart-cli" "tart" {
|
||||
vm_base_name = "ghcr.io/cirruslabs/macos-${var.macos_version}-vanilla:13.3.1"
|
||||
vm_base_name = "ghcr.io/cirruslabs/macos-${var.macos_version}-vanilla:13.4"
|
||||
vm_name = "${var.macos_version}-base"
|
||||
cpu_count = 4
|
||||
memory_gb = 8
|
||||
@@ -110,4 +110,9 @@ build {
|
||||
"sudo safaridriver --enable",
|
||||
]
|
||||
}
|
||||
provisioner "shell" {
|
||||
inline = [
|
||||
"brew install awscli"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
packer {
|
||||
required_plugins {
|
||||
tart = {
|
||||
version = ">= 0.5.4"
|
||||
version = ">= 1.2.0"
|
||||
source = "github.com/cirruslabs/tart"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
packer {
|
||||
required_plugins {
|
||||
tart = {
|
||||
version = ">= 0.5.4"
|
||||
version = ">= 1.2.0"
|
||||
source = "github.com/cirruslabs/tart"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,121 @@
|
||||
packer {
|
||||
required_plugins {
|
||||
tart = {
|
||||
version = ">= 1.2.0"
|
||||
source = "github.com/cirruslabs/tart"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
source "tart-cli" "tart" {
|
||||
# Currently macOS 14 (Sonoma) can only be obtained via the following links:
|
||||
# unauthenticated[1] and authenticated[2].
|
||||
#
|
||||
# [1]: https://updates.cdn-apple.com/2023SummerSeed/fullrestores/032-94355/CBE8CBE1-750D-487E-A393-B90FEF60CEBA/UniversalMac_14.0_23A5257q_Restore.ipsw
|
||||
# [2]: https://download.developer.apple.com/WWDC_2023/macOS_14_Beta_Restore_Images/UniversalMac_14.0_23A5257q_Restore.ipsw
|
||||
from_ipsw = "https://updates.cdn-apple.com/2023SummerSeed/fullrestores/032-94355/CBE8CBE1-750D-487E-A393-B90FEF60CEBA/UniversalMac_14.0_23A5257q_Restore.ipsw"
|
||||
vm_name = "sonoma-vanilla"
|
||||
cpu_count = 4
|
||||
memory_gb = 8
|
||||
disk_size_gb = 40
|
||||
ssh_password = "admin"
|
||||
ssh_username = "admin"
|
||||
ssh_timeout = "120s"
|
||||
boot_command = [
|
||||
# hello, hola, bonjour, etc.
|
||||
"<wait60s><spacebar>",
|
||||
# Language
|
||||
"<wait30s>english<enter>",
|
||||
# Select Your Country and Region
|
||||
"<wait30s>united states<leftShiftOn><tab><leftShiftOff><spacebar>",
|
||||
# Written and Spoken Languages
|
||||
"<wait10s><leftShiftOn><tab><leftShiftOff><spacebar>",
|
||||
# Accessibility
|
||||
"<wait10s><leftShiftOn><tab><leftShiftOff><spacebar>",
|
||||
# Data & Privacy
|
||||
"<wait10s><leftShiftOn><tab><leftShiftOff><spacebar>",
|
||||
# Migration Assistant
|
||||
"<wait10s><tab><tab><tab><spacebar>",
|
||||
# Sign In with Your Apple ID
|
||||
"<wait10s><leftShiftOn><tab><leftShiftOff><leftShiftOn><tab><leftShiftOff><spacebar>",
|
||||
# Are you sure you want to skip signing in with an Apple ID?
|
||||
"<wait10s><tab><spacebar>",
|
||||
# Terms and Conditions
|
||||
"<wait10s><leftShiftOn><tab><leftShiftOff><spacebar>",
|
||||
# I have read and agree to the macOS Software License Agreement
|
||||
"<wait10s><tab><spacebar>",
|
||||
# Create a Computer Account
|
||||
"<wait10s>admin<tab><tab>admin<tab>admin<tab><tab><tab><spacebar>",
|
||||
# Enable Location Services
|
||||
"<wait30s><leftShiftOn><tab><leftShiftOff><spacebar>",
|
||||
# Are you sure you don't want to use Location Services?
|
||||
"<wait10s><tab><spacebar>",
|
||||
# Select Your Time Zone
|
||||
"<wait10s><tab>UTC<enter><leftShiftOn><tab><leftShiftOff><spacebar>",
|
||||
# Analytics
|
||||
"<wait10s><leftShiftOn><tab><leftShiftOff><spacebar>",
|
||||
# Screen Time
|
||||
"<wait10s><tab><spacebar>",
|
||||
# Siri
|
||||
"<wait10s><tab><spacebar><leftShiftOn><tab><leftShiftOff><spacebar>",
|
||||
# Choose Your Look
|
||||
"<wait10s><leftShiftOn><tab><leftShiftOff><spacebar>",
|
||||
# Enable Voice Over
|
||||
"<wait10s><leftAltOn><f5><leftAltOff><wait5s>v",
|
||||
# Now that the installation is done, open "System Settings"
|
||||
"<wait10s><leftAltOn><spacebar><leftAltOff>System Settings<enter>",
|
||||
# Navigate to "Sharing"
|
||||
"<wait10s><leftAltOn>f<leftAltOff>sharing<enter>",
|
||||
# Navigate to "Screen Sharing" and enable it
|
||||
"<wait10s><tab><tab><tab><tab><tab><spacebar>",
|
||||
# Navigate to "Remote Login" and enable it
|
||||
"<wait10s><tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><spacebar>",
|
||||
# Open "Remote Login" details
|
||||
"<wait10s><tab><spacebar>",
|
||||
# Enable "Full Disk Access"
|
||||
"<wait10s><tab><spacebar>",
|
||||
# Click "Done"
|
||||
"<wait10s><leftShiftOn><tab><leftShiftOff><leftShiftOn><tab><leftShiftOff><spacebar>",
|
||||
# Disable Voice Over
|
||||
"<leftAltOn><f5><leftAltOff>",
|
||||
]
|
||||
|
||||
// A (hopefully) temporary workaround for Virtualization.Framework's
|
||||
// installation process not fully finishing in a timely manner
|
||||
create_grace_time = "30s"
|
||||
}
|
||||
|
||||
build {
|
||||
sources = ["source.tart-cli.tart"]
|
||||
|
||||
provisioner "shell" {
|
||||
inline = [
|
||||
// Enable passwordless sudo
|
||||
"echo admin | sudo -S sh -c \"mkdir -p /etc/sudoers.d/; echo 'admin ALL=(ALL) NOPASSWD: ALL' | EDITOR=tee visudo /etc/sudoers.d/admin-nopasswd\"",
|
||||
// Enable auto-login
|
||||
//
|
||||
// See https://github.com/xfreebird/kcpassword for details.
|
||||
"echo '00000000: 1ced 3f4a bcbc ba2c caca 4e82' | sudo xxd -r - /etc/kcpassword",
|
||||
"sudo defaults write /Library/Preferences/com.apple.loginwindow autoLoginUser admin",
|
||||
// Disable screensaver at login screen
|
||||
"sudo defaults write /Library/Preferences/com.apple.screensaver loginWindowIdleTime 0",
|
||||
// Prevent the VM from sleeping
|
||||
"sudo systemsetup -setdisplaysleep Off",
|
||||
"sudo systemsetup -setsleep Off",
|
||||
"sudo systemsetup -setcomputersleep Off",
|
||||
// Launch Safari to populate the defaults
|
||||
"/Applications/Safari.app/Contents/MacOS/Safari &",
|
||||
"sleep 30",
|
||||
"kill -9 %1",
|
||||
// Enable Safari's remote automation and "Develop" menu
|
||||
"sudo safaridriver --enable",
|
||||
"defaults write com.apple.Safari.SandboxBroker ShowDevelopMenu -bool true",
|
||||
"defaults write com.apple.Safari IncludeDevelopMenu -bool true",
|
||||
// Disable screen lock
|
||||
//
|
||||
// Note that this only works if the user is logged-in,
|
||||
// i.e. not on login screen.
|
||||
"sysadminctl -screenLock off -password admin",
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
packer {
|
||||
required_plugins {
|
||||
tart = {
|
||||
version = ">= 0.5.4"
|
||||
version = ">= 1.2.0"
|
||||
source = "github.com/cirruslabs/tart"
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,7 @@ packer {
|
||||
source "tart-cli" "tart" {
|
||||
# You can find macOS IPSW URLs on various websites like https://ipsw.me/
|
||||
# and https://www.theiphonewiki.com/wiki/Beta_Firmware/Mac/13.x
|
||||
from_ipsw = "https://updates.cdn-apple.com/2023WinterFCS/fullrestores/032-66602/418BC37A-FCD9-400A-B4FA-022A19576CD4/UniversalMac_13.3.1_22E261_Restore.ipsw"
|
||||
from_ipsw = "https://updates.cdn-apple.com/2023SpringFCS/fullrestores/032-84884/F97A22EE-9B5E-4FD5-94C1-B39DCEE8D80F/UniversalMac_13.4_22F66_Restore.ipsw"
|
||||
vm_name = "ventura-vanilla"
|
||||
cpu_count = 4
|
||||
memory_gb = 8
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
packer {
|
||||
required_plugins {
|
||||
tart = {
|
||||
version = ">= 0.5.4"
|
||||
version = ">= 1.2.0"
|
||||
source = "github.com/cirruslabs/tart"
|
||||
}
|
||||
}
|
||||
@@ -126,8 +126,8 @@ build {
|
||||
provisioner "shell" {
|
||||
inline = [
|
||||
"source ~/.zprofile",
|
||||
"brew install graphicsmagick",
|
||||
"brew install wix/brew/applesimutils",
|
||||
"brew install graphicsmagick imagemagick",
|
||||
"brew install wix/brew/applesimutils"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -148,7 +148,6 @@ build {
|
||||
provisioner "shell" {
|
||||
inline = [
|
||||
"source ~/.zprofile",
|
||||
"brew doctor",
|
||||
"flutter doctor"
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user