Panduan

Pindah dari Cirrus Runners ke Mac mini dedicated

Cirrus Runners tidak menerima pelanggan baru dan kontrak yang ada akan berakhir. Pindahkan job macOS GitHub Actions Anda ke Mac mini dedicated, secara native atau dengan image Tart yang sama.

60 menit, diperbarui 2026-09-15

Pada April 2026, Cirrus Labs mengumumkan bergabung dengan OpenAI. Cirrus CI berhenti menjalankan job pada 1 Juni 2026. Cirrus Runners tidak menerima pelanggan baru, dan pelanggan yang ada hanya didukung sampai kontrak mereka saat ini berakhir.

Jika job macOS GitHub Actions Anda berjalan di Cirrus Runners, job itu butuh tempat baru sebelum tanggal tersebut. Panduan ini menunjukkan dua cara memindahkannya ke Mac mini dedicated, dan cara memilih di antara keduanya.

Dua cara pindah

Jalur A, runner native. Runner GitHub Actions berjalan langsung di macOS. Ini pengaturan paling sederhana, dengan build tercepat dan cache yang tetap siap di antara job.

Jalur B, virtual machine Tart. Anda menjalankan image macOS Cirrus yang sama seperti yang Anda pakai sekarang, di dalam Tart, di Mac Anda sendiri. Setiap job dimulai dari mesin yang bersih, persis seperti di Cirrus.

Path A, native runner

macOS, no VMactions.runner service,one job at a timeIts own diskDerivedData and packagesstay warm

Fastest, and you install Xcode yourself.

Path B, Tart virtual machines

macOS host, TartClean VMone job, deletedClean VMone job, deletedThe same Cirrus images you run today.Apple's licence: two at a time, per Mac.

Nothing changes in the workflow except the label.

Satu Mac, dua susunan. Pilihan itulah inti seluruh panduan ini.
Runner nativeVM Tart
Waktu penyiapanSekitar 30 menitSekitar satu jam
Lingkungan sama dengan CirrusTidak, Anda menginstal Xcode sendiriYa, image yang sama
Mesin bersih per jobNoYa
Cache tetap siap di antara jobYaTidak, kecuali Anda memasukkannya ke dalam image
Job bersamaan per MacSatu per runnerHingga dua (batas lisensi Apple)

Pilih A jika tim Anda memiliki repositorinya dan menginginkan kecepatan. Pilih B jika Anda butuh setiap build dimulai dari keadaan bersih yang diketahui, atau Anda tidak ingin mengubah apa pun di workflow selain labelnya.

Sebelum Anda mulai

Catat apa yang dipakai workflow Anda saat ini. Cari baris runs-on yang mengarah ke image Cirrus, misalnya:

.github/workflows
runs-on: ghcr.io/cirruslabs/macos-runner:sonoma

Catat versi macOS, versi Xcode, dan apa pun yang diinstal job Anda di awal. Anda akan membutuhkan daftar itu untuk jalur mana pun.

Jalur A: runner native

Ikuti panduan kami, “Runner GitHub Actions self-hosted di Mac mini”, yang tautannya ada di bagian bawah halaman ini. Panduan itu membahas Xcode, pendaftaran runner, dan menjalankannya sebagai layanan.

Beri runner label yang menggambarkannya, misalnya macduty-m4. Lalu ubah satu baris di setiap workflow:

.github/workflows
# before
runs-on: ghcr.io/cirruslabs/macos-runner:sonoma

# after
runs-on: [self-hosted, macOS, ARM64, macduty-m4]

Jalankan satu workflow di runner baru selagi Cirrus masih berfungsi. Jika lolos, pindahkan sisanya.

Jalur B: image yang sama, di Tart

1. Instal Tart di Mac

ssh
brew install cirruslabs/cli/tart

2. Tarik image Cirrus

Pilih image yang paling mendekati yang Anda jalankan sekarang. Cirrus menerbitkan image dengan dan tanpa Xcode:

ssh
tart clone ghcr.io/cirruslabs/macos-sequoia-xcode:latest ci-base

Pull pertama berukuran besar, sering lebih dari 50 GB, jadi sediakan waktu.

3. Jalankan VM dan login

ssh
tart run --no-graphics ci-base &
ssh admin@$(tart ip ci-base)

Image Cirrus dilengkapi akun admin bawaan. Ganti kata sandinya sebelum melakukan hal lain.

4. Daftarkan runner di dalam VM

Di dalam VM, daftarkan runner GitHub Actions dengan cara yang sama seperti di Jalur A, dengan satu perbedaan: tambahkan --ephemeral, agar runner mengambil satu job lalu berhenti.

di dalam VM
./config.sh --url https://github.com/<owner>/<repo> --token <token> --ephemeral --labels tart-sequoia
./run.sh

5. VM baru untuk setiap job

Di Mac itu sendiri, sebuah loop kecil meng-clone salinan bersih dari image, menjalankan satu job di dalamnya, lalu menghapusnya:

ssh
while true; do
  tart clone ci-base job
  tart run --no-graphics job &
  # wait for the job to finish, then:
  tart stop job
  tart delete job
done

Dalam praktiknya, Anda akan butuh skrip yang juga mengambil token pendaftaran baru untuk setiap VM. Tool seperti Orchard, dari tim yang sama, menangani hal ini untuk pengaturan yang lebih besar.

Lisensi Apple mengizinkan paling banyak dua virtual machine macOS berjalan bersamaan di satu Mac. Untuk lebih banyak job paralel, tambahkan Mac lain.

Setelah pindah

  • Periksa waktu build. Di M4 dedicated atau yang lebih baru, sebagian besar tim melihat build secepat di Cirrus, dan lebih cepat dengan cache yang tetap siap.
  • Simpan workflow lama selama seminggu. Tinggalkan salinan baris runs-on Cirrus di sebuah branch sampai runner baru sudah melewati satu rilis penuh.
  • Hanya repositori privat. Runner self-hosted sebaiknya tidak mengambil job dari fork publik.

Mengapa Mac mini dedicated

  • Satu harga flat per bulan. Tanpa tagihan per menit dan tanpa negosiasi ulang saat kontrak berakhir.
  • Semua generasi. M1 sampai M6 berdampingan, jadi Anda bisa menguji di chip yang dipakai pengguna Anda.
  • Hanya untuk Anda. Tanpa antrean, tanpa tetangga, tanpa job orang lain di hardware Anda.
  • Di-hosting di Uni Eropa, di bawah GDPR.

MacDuty menyediakan Mac mini dari M1 sampai M6 di raknya, dengan macOS terinstal, siap dalam hitungan menit. Tambahkan kunci SSH Anda dari area klien.

Tersedia hari ini

Mac ini sudah ada di rak sekarang. Pilih satu, lihat apa saja yang termasuk, dan buat akun Anda hanya saat memesan.

Memeriksa rak

Mac mini milik Anda sendiri

Pilih konfigurasi. Jika belum tersedia, tinggalkan email Anda dan kami kabari pada hari Mac itu terpasang di rak.

Tahunan: setidaknya 19% lebih murah daripada membayar bulanan

  • 16GB

    Memori terpadu, 120 GB/s

    Core
    10 CPU, 10 GPU
    Penyimpanan
    Tersedia
    Tersedia
  • Paling banyak dipilih
    24GB

    Memori terpadu, 120 GB/s

    Core
    10 CPU, 10 GPU
    Penyimpanan
    Tersedia
    Tersedia
  • 32GB

    Memori terpadu, 120 GB/s

    Core
    10 CPU, 10 GPU
    Penyimpanan
    Tersedia
    Tersedia
Visa Mastercard Transfer SEPAHarga dalam EUR, PPN ditambahkan saat pembayaran jika berlaku. Minimal satu bulan, lalu sewa bisa diakhiri di bulan mana pun.

Berikutnya