Skip to content

Commit 380245d

Browse files
authored
tools: Add MacOS15 images to packer config (#4065)
* tools: Add MacOS15 images to packer config * Add sequoia arm64 to packer workflow * sequoia arm64 ready, skip xcode installs in non base packer file * Correct condition and syntax
1 parent 126f1d2 commit 380245d

File tree

3 files changed

+57
-7
lines changed

3 files changed

+57
-7
lines changed

.github/workflows/packer.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
runs-on: ubuntu-latest
1717
strategy:
1818
matrix:
19-
os: [sonoma-arm64, sonoma-intel]
19+
os: [sonoma-arm64, sonoma-intel, sequoia-intel, sequoia-arm64]
2020
fail-fast: false
2121
steps:
2222
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
@@ -38,18 +38,23 @@ jobs:
3838
--passwd-on-stdin --background \
3939
--servercert ${{ secrets.ORKA_VPN_SERVER_CERT }}
4040
41-
- name: Init Packer
42-
run: packer init orka.pkr.hcl
41+
- name: Init Packer base
42+
if: ${{ matrix.os != 'sonoma-arm64' && matrix.os != 'sequoia-arm64' }}
43+
run: packer init orka-base.pkr.hcl
4344
working-directory: ansible/packer
4445

4546
- name: Run Packer (base image)
4647
# Skip arm64 for now as Xcode download takes too long
47-
if: matrix.os != 'sonoma-arm64'
48+
if: ${{ matrix.os != 'sonoma-arm64' && matrix.os != 'sequoia-arm64' }}
4849
run: packer build --only=macstadium-orka.${{ matrix.os }} orka-base.pkr.hcl
4950
working-directory: ansible/packer
5051
env:
5152
ORKA_TOKEN: ${{ secrets.ORKA_TOKEN }}
5253

54+
- name: Init Packer
55+
run: packer init orka.pkr.hcl
56+
working-directory: ansible/packer
57+
5358
- name: Run Packer (final image)
5459
run: packer build --only=macstadium-orka.${{ matrix.os }} orka.pkr.hcl
5560
working-directory: ansible/packer

ansible/packer/orka-base.pkr.hcl

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,26 @@ variable "XCode15_2_SAS_TOKEN" {
2727
default = env("XCode15_2_SAS_TOKEN")
2828
}
2929

30+
source "macstadium-orka" "sequoia-arm64" {
31+
source_image = "sequoialatest"
32+
image_name = "sequoia-arm64-base"
33+
image_description = "Base image with sudoers setup and xcode/brew/ansible installed"
34+
image_force_overwrite = true
35+
orka_endpoint = var.ORKA_ENDPOINT
36+
orka_auth_token = var.ORKA_TOKEN
37+
orka_vm_builder_name = "sequoia-arm64-builder"
38+
}
39+
40+
source "macstadium-orka" "sequoia-intel" {
41+
source_image = "90gbsequoiassh-15-4.img"
42+
image_name = "sequoia-intel-base"
43+
image_description = "Base image with sudoers setup and xcode/brew/ansible installed"
44+
image_force_overwrite = true
45+
orka_endpoint = var.ORKA_ENDPOINT
46+
orka_auth_token = var.ORKA_TOKEN
47+
orka_vm_builder_name = "sequoia-intel-builder"
48+
}
49+
3050
source "macstadium-orka" "sonoma-arm64" {
3151
source_image = "sonoma-90gb-orka3-arm"
3252
image_name = "sonoma-arm64-base"
@@ -50,6 +70,8 @@ source "macstadium-orka" "sonoma-intel" {
5070
# Generate the base image for the sonoma-arm64 VMs which we will use to run the ansible playbook
5171
build {
5272
sources = [
73+
"macstadium-orka.sequoia-intel",
74+
"macstadium-orka.sequoia-arm64",
5375
"macstadium-orka.sonoma-arm64",
5476
"macstadium-orka.sonoma-intel"
5577
]

ansible/packer/orka.pkr.hcl

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,26 @@ variable "ORKA_ENDPOINT" {
1919
default = "http://10.221.188.20"
2020
}
2121

22+
source "macstadium-orka" "sequoia-arm64" {
23+
source_image = "sequoia-arm64-base"
24+
image_name = "adoptium-sequoia-arm64"
25+
image_description = "Adoptium Sequoia ARM64 image with full ansible playbook run"
26+
image_force_overwrite = true
27+
orka_endpoint = var.ORKA_ENDPOINT
28+
orka_auth_token = var.ORKA_TOKEN
29+
orka_vm_builder_name = "sequoia-arm64-builder"
30+
}
31+
32+
source "macstadium-orka" "sequoia-intel" {
33+
source_image = "sequoia-intel-base"
34+
image_name = "adoptium-sequoia-intel"
35+
image_description = "Adoptium Sequoia Intel image with full ansible playbook run"
36+
image_force_overwrite = true
37+
orka_endpoint = var.ORKA_ENDPOINT
38+
orka_auth_token = var.ORKA_TOKEN
39+
orka_vm_builder_name = "sequoia-intel-builder"
40+
}
41+
2242
source "macstadium-orka" "sonoma-arm64" {
2343
source_image = "sonoma-arm64-base"
2444
image_name = "adoptium-sonoma-arm64"
@@ -32,7 +52,7 @@ source "macstadium-orka" "sonoma-arm64" {
3252
source "macstadium-orka" "sonoma-intel" {
3353
source_image = "sonoma-intel-base"
3454
image_name = "adoptium-sonoma-intel"
35-
image_description = "Base image with sudoers setup and brew/ansible installed"
55+
image_description = "Adoptium Sonoma Intel image with full ansible playbook run"
3656
image_force_overwrite = true
3757
orka_endpoint = var.ORKA_ENDPOINT
3858
orka_auth_token = var.ORKA_TOKEN
@@ -41,14 +61,16 @@ source "macstadium-orka" "sonoma-intel" {
4161

4262
build {
4363
sources = [
64+
"macstadium-orka.sequoia-arm64",
65+
"macstadium-orka.sequoia-intel",
4466
"macstadium-orka.sonoma-arm64",
4567
"macstadium-orka.sonoma-intel"
4668
]
4769

4870
# Ensure ansible package is up to date
4971
provisioner "shell" {
5072
# Only needed on arm64 as we rebuild intel base frequently
51-
only = ["macstadium-orka.sonoma-arm64"]
73+
only = ["macstadium-orka.sonoma-arm64", "macstadium-orka.sequoia-arm64"]
5274
inline = [
5375
"source /Users/admin/.zprofile; brew upgrade ansible"
5476
]
@@ -68,12 +90,13 @@ build {
6890
}
6991

7092
# Run ansible playbook
93+
# xcode11 and 15 are skipped because they should run only in the orka-base.pkr.hcl stage
7194
provisioner "ansible-local" {
7295
playbook_file = "../playbooks/AdoptOpenJDK_Unix_Playbook/main.yml"
7396
playbook_dir = "../playbooks/AdoptOpenJDK_Unix_Playbook"
7497
extra_arguments = [
7598
"--extra-vars", "ansible_user=admin",
76-
"--skip-tags=hostname,brew_upgrade,brew_cu,core_dumps,crontab,kernel_tuning,adoptopenjdk,jenkins,nagios,superuser,swap_file,jck_tools"
99+
"--skip-tags=xcode11,xcode15,hostname,brew_upgrade,brew_cu,core_dumps,crontab,kernel_tuning,adoptopenjdk,jenkins,nagios,superuser,swap_file,jck_tools"
77100
]
78101
command = "source /Users/admin/.zprofile; ansible-playbook"
79102
}

0 commit comments

Comments
 (0)