Compare commits

...
22 Commits
Author SHA1 Message Date
fedor a63fb03f2e Ventura 13.6 2024-01-10 20:04:47 +04:00
Fedor Korotkov 8f93e8eae2 Removed chunking 2023-12-26 07:59:50 -05:00
Nikolay Edigaryev 8b9f6ce141 Tag vanilla image as 14.1 (#111)
Since we currently use UniversalMac_14.1_23B74_Restore.ipsw to build it.
2023-12-22 12:31:18 +04:00
Nikolay Edigaryev a9d8536f46 disable-sip.pkr.hcl: a better way to open Terminal (#110)
Without it, we open the "Share Disk..." menu option instead.

Also there's no more default language choice on Sonoma.
2023-12-21 21:03:02 +04:00
Nikolay Edigaryev 73dea7bcb0 Disable SIP in vanilla images (#109) 2023-12-20 19:14:56 +04:00
Nikolay Edigaryev e5f5edca05 .cirrus.yml: introduce "Update Vanilla Images" task (#108) 2023-12-20 15:11:26 +01:00
Nikolay Edigaryev 21522999bb Don't mistakenly select "English (UK)" language instead of "English" one (#107) 2023-12-19 12:12:17 +04:00
Nikolay Edigaryev 664d47260e Hide useless systemsetup errors and avoid scary Safari kill error (#106) 2023-12-15 11:14:20 +04:00
fedor 67a57c3064 Xcode 15.1 2023-12-12 21:56:50 +01:00
fedor fabd89cead Fixed tag 2023-12-12 21:56:10 +01:00
Fedor Korotkov b19d3fa66c Use alias for ECR pushes 2023-11-27 12:51:22 -05:00
Fedor Korotkov 3f1850ad07 ECR chunked push 2023-11-27 12:50:17 -05:00
Fedor Korotkov 4b7ac1f76f Increased timeout 2023-11-10 13:20:59 -05:00
Fedor Korotkov 98b522dbfa Push images to public ECR (#103)
* Push images to public ECR

Related to https://github.com/cirruslabs/tart/discussions/652

* Use the default alias until we get the custom one
2023-11-10 09:28:47 -05:00
fedor 41b20ab533 Revert "Pin version of activesupport (#101)"
This reverts commit 6555932569.
2023-11-06 11:22:57 -05:00
Fedor Korotkov b28936faa2 Xcode 15.0.1 2023-11-06 11:21:47 -05:00
fedor 3e3e6818f3 Sonoma 14.1 2023-10-25 16:10:45 -04:00
Fedor Korotkov 47695a9abd Runner 2.311.0 2023-10-23 16:30:43 -04:00
Fedor Korotkov 6555932569 Pin version of activesupport (#101)
* Pin version of `activesupport`

Fixes #100 while https://github.com/CocoaPods/CocoaPods/issues/12081 is not released.

* Fixed installation
2023-10-10 07:56:40 -04:00
Fedor Korotkov 4513f2adad GHA Runner 2.310.0 2023-10-09 09:51:05 -04:00
Fedor Korotkov 0a4f436302 Update README.md 2023-10-05 07:03:08 -04:00
Rui Marinho 277b13fb59 macOS 13.5.2 (#97) 2023-09-27 12:34:46 -04:00
7 changed files with 79 additions and 39 deletions
+44 -13
View File
@@ -1,12 +1,37 @@
persistent_worker:
labels:
name: dev-mini
env:
TART_REGISTRY_HOSTNAME: ghcr.io
TART_REGISTRY_USERNAME: fkorotkov # GitHub supports only PATs
TART_REGISTRY_PASSWORD: ENCRYPTED[!82ed873afdf627284305afef4958c85a8f73127b09978a9786ac521559630ea6c9a5ab6e7f8315abf9ead09b6eff6eae!]
AWS_ACCESS_KEY_ID: ENCRYPTED[c187b670a17eead88c1698849376273991d09678efe37ae2f0c9738c27a2422741a71c501ef4b6a4df7bff3eca5213a9]
AWS_SECRET_ACCESS_KEY: ENCRYPTED[e456254a53b82e3167f2da23e24c389620cb3f7d47e4e5e7d993813bf9bb18c784d5cb8d88d19632073acc9e1f6096c9]
task:
name: "Update Images"
name: "Update Vanilla Images"
only_if: false
timeout_in: 3h
update_script: brew update && brew upgrade
info_script:
- tart --version
- packer --version
build_script:
- packer init templates/vanilla-sonoma.pkr.hcl
- packer build templates/vanilla-sonoma.pkr.hcl
disable_sip_script:
- packer build -var vm_name=sonoma-vanilla templates/disable-sip.pkr.hcl
push_script:
- tart push sonoma-vanilla ghcr.io/cirruslabs/macos-sonoma-vanilla:latest ghcr.io/cirruslabs/macos-sonoma-vanilla:14.1
always:
cleanup_script:
- tart delete sonoma-vanilla || true
task:
name: "Update Non-Vanilla Images"
only_if: $CIRRUS_CRON != ""
persistent_worker:
labels:
name: dev-mini
env:
TART_REGISTRY_USERNAME: fkorotkov # GitHub supports only PATs
TART_REGISTRY_PASSWORD: ENCRYPTED[!82ed873afdf627284305afef4958c85a8f73127b09978a9786ac521559630ea6c9a5ab6e7f8315abf9ead09b6eff6eae!]
timeout_in: 3h
update_script: brew update && brew upgrade
info_script:
- tart --version
@@ -23,6 +48,10 @@ task:
- tart push sonoma-base ghcr.io/cirruslabs/macos-sonoma-base:latest
push_xcode_script:
- tart push sonoma-xcode:$XCODE_VERSION ghcr.io/cirruslabs/macos-sonoma-xcode:$XCODE_VERSION ghcr.io/cirruslabs/macos-sonoma-xcode:latest
push_base_ecr_script:
- tart push sonoma-base public.ecr.aws/cirruslabs/macos:sonoma-base
push_xcode_ecr_script:
- tart push sonoma-xcode:$XCODE_VERSION public.ecr.aws/cirruslabs/macos:sonoma-xcode-$XCODE_VERSION public.ecr.aws/cirruslabs/macos:sonoma-xcode
always:
cleanup_script:
- tart delete sonoma-base || true
@@ -31,12 +60,7 @@ task:
task:
name: "Release Xcode $CIRRUS_TAG"
only_if: $CIRRUS_TAG != ""
persistent_worker:
labels:
name: dev-mini
env:
TART_REGISTRY_USERNAME: fkorotkov # GitHub supports only PATs
TART_REGISTRY_PASSWORD: ENCRYPTED[!82ed873afdf627284305afef4958c85a8f73127b09978a9786ac521559630ea6c9a5ab6e7f8315abf9ead09b6eff6eae!]
timeout_in: 3h
update_script: brew update && brew upgrade
info_script:
- tart --version
@@ -54,6 +78,13 @@ task:
else
tart push sonoma-xcode:$CIRRUS_TAG ghcr.io/cirruslabs/macos-sonoma-xcode:$CIRRUS_TAG ghcr.io/cirruslabs/macos-sonoma-xcode:latest
fi
push_ecr_script: |
if [[ $CIRRUS_TAG == *"beta"* ]]
then
tart push sonoma-xcode:$CIRRUS_TAG public.ecr.aws/cirruslabs/macos:sonoma-xcode-$CIRRUS_TAG
else
tart push sonoma-xcode:$CIRRUS_TAG public.ecr.aws/cirruslabs/macos:sonoma-xcode-$CIRRUS_TAG public.ecr.aws/cirruslabs/macos:sonoma-xcode
fi
always:
cleanup_script:
- tart delete sonoma-base || true
+3 -3
View File
@@ -1,12 +1,12 @@
## macOS Packer Templates for Cirrus CI
## macOS Packer Templates for Tart
Repository with Packer templates to build [Tart VMs](https://github.com/cirruslabs/tart) to use with [Cirrus CI](https://cirrus-ci.org/guide/macOS/).
Repository with Packer templates to build [Tart VMs](https://github.com/cirruslabs/tart) to use with [Cirrus Runners](https://tart.run/integrations/github-actions/) and [Cirrus CI](https://cirrus-ci.org/guide/macOS/).
* `macos-{monterey,ventura,sonoma}-vanilla` image has nothing pre-installed
* `macos-{monterey,ventura,sonoma}-base` image has only `brew` pre-installed
* `macos-{monterey,ventura,sonoma}-xcode:N` image is based on `macos-{monterey,ventura}-base` image and has `Xcode N` with [`Flutter`](https://flutter.dev/) pre-installed
See a full list of VMs available on Cirrus CI [here](https://github.com/orgs/cirruslabs/packages?tab=packages&q=macos-).
See a full list of VMs available [here](https://github.com/orgs/cirruslabs/packages?tab=packages&q=macos-).
## Building Vanilla Image
+1 -4
View File
@@ -22,11 +22,8 @@ source "tart-cli" "tart" {
# Skip over "Macintosh" and select "Options"
# to boot into macOS Recovery
"<wait60s><right><right><enter>",
# Select default language
"<wait10s><enter>",
# Open Terminal
"<wait10s><leftCtrlOn><f2><leftCtrlOff>",
"<right><right><right><right><down><down><down><enter>",
"<wait10s><leftAltOn>T<leftAltOff>",
# Disable SIP
"<wait10s>csrutil disable<enter>",
"<wait10s>y<enter>",
+7 -5
View File
@@ -93,13 +93,15 @@ build {
// Disable screensaver for admin user
"defaults -currentHost write com.apple.screensaver idleTime 0",
// Prevent the VM from sleeping
"sudo systemsetup -setdisplaysleep Off",
"sudo systemsetup -setsleep Off",
"sudo systemsetup -setcomputersleep Off",
"sudo systemsetup -setdisplaysleep Off 2>/dev/null",
"sudo systemsetup -setsleep Off 2>/dev/null",
"sudo systemsetup -setcomputersleep Off 2>/dev/null",
// Launch Safari to populate the defaults
"/Applications/Safari.app/Contents/MacOS/Safari &",
"sleep 3",
"kill -9 %1",
"SAFARI_PID=$!",
"disown",
"sleep 30",
"kill -9 $SAFARI_PID",
// Enable Safari's remote automation and "Develop" menu
"sudo safaridriver --enable",
"defaults write com.apple.Safari.SandboxBroker ShowDevelopMenu -bool true",
+15 -7
View File
@@ -8,7 +8,7 @@ packer {
}
source "tart-cli" "tart" {
from_ipsw = "https://updates.cdn-apple.com/2023FallFCS/fullrestores/002-81996/596571C1-9856-4BB3-B5BF-B5A48F4B406E/UniversalMac_14.0_23A339_Restore.ipsw"
from_ipsw = "https://updates.cdn-apple.com/2023FallFCS/fullrestores/042-86430/DBE44960-58A6-4715-948B-D64F33F769BD/UniversalMac_14.1_23B74_Restore.ipsw"
vm_name = "sonoma-vanilla"
cpu_count = 4
memory_gb = 8
@@ -19,8 +19,14 @@ source "tart-cli" "tart" {
boot_command = [
# hello, hola, bonjour, etc.
"<wait60s><spacebar>",
# Language
"<wait30s>english<enter>",
# Language: most of the times we have a list of "English"[1], "English (UK)", etc. with
# "English" language already selected. If we type "english", it'll cause us to switch
# to the "English (UK)", which is not what we want. To solve this, we switch to some other
# language first, e.g. "Italiano" and then switch back to "English". We'll then jump to the
# first entry in a list of "english"-prefixed items, which will be "English".
#
# [1]: should be named "English (US)", but oh well 🤷
"<wait30s>italiano<esc>english<enter>",
# Select Your Country and Region
"<wait30s>united states<leftShiftOn><tab><leftShiftOff><spacebar>",
# Written and Spoken Languages
@@ -97,13 +103,15 @@ build {
// Disable screensaver for admin user
"defaults -currentHost write com.apple.screensaver idleTime 0",
// Prevent the VM from sleeping
"sudo systemsetup -setdisplaysleep Off",
"sudo systemsetup -setsleep Off",
"sudo systemsetup -setcomputersleep Off",
"sudo systemsetup -setdisplaysleep Off 2>/dev/null",
"sudo systemsetup -setsleep Off 2>/dev/null",
"sudo systemsetup -setcomputersleep Off 2>/dev/null",
// Launch Safari to populate the defaults
"/Applications/Safari.app/Contents/MacOS/Safari &",
"SAFARI_PID=$!",
"disown",
"sleep 30",
"kill -9 %1",
"kill -9 $SAFARI_PID",
// Enable Safari's remote automation and "Develop" menu
"sudo safaridriver --enable",
"defaults write com.apple.Safari.SandboxBroker ShowDevelopMenu -bool true",
+7 -5
View File
@@ -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/2023SummerFCS/fullrestores/042-25658/2D6BE8DB-5549-4F85-8C54-39FC23BABC68/UniversalMac_13.5.1_22G90_Restore.ipsw"
from_ipsw = "https://updates.cdn-apple.com/2023FallFCS/fullrestores/042-55833/C0830847-A2F8-458F-B680-967991820931/UniversalMac_13.6_22G120_Restore.ipsw"
vm_name = "ventura-vanilla"
cpu_count = 4
memory_gb = 8
@@ -99,13 +99,15 @@ build {
// Disable screensaver for admin user
"defaults -currentHost write com.apple.screensaver idleTime 0",
// Prevent the VM from sleeping
"sudo systemsetup -setdisplaysleep Off",
"sudo systemsetup -setsleep Off",
"sudo systemsetup -setcomputersleep Off",
"sudo systemsetup -setdisplaysleep Off 2>/dev/null",
"sudo systemsetup -setsleep Off 2>/dev/null",
"sudo systemsetup -setcomputersleep Off 2>/dev/null",
// Launch Safari to populate the defaults
"/Applications/Safari.app/Contents/MacOS/Safari &",
"SAFARI_PID=$!",
"disown",
"sleep 30",
"kill -9 %1",
"kill -9 $SAFARI_PID",
// Enable Safari's remote automation and "Develop" menu
"sudo safaridriver --enable",
"defaults write com.apple.Safari.SandboxBroker ShowDevelopMenu -bool true",
+2 -2
View File
@@ -1,3 +1,3 @@
macos_version = "sonoma"
gha_version = "2.309.0"
xcode_version = "15"
gha_version = "2.311.0"
xcode_version = "15.1"