Skip to content

Commit

Permalink
Switch to using Github's runners for macOS builds (#6851)
Browse files Browse the repository at this point in the history
Those are now available, and though a tad slower than our current hosted
runners, allow us to avoid having to maintain hosted macOS runners.
  • Loading branch information
elprans authored and aljazerzen committed Mar 13, 2024
1 parent 934fca7 commit 25d9e3b
Show file tree
Hide file tree
Showing 6 changed files with 178 additions and 70 deletions.
20 changes: 16 additions & 4 deletions .github/workflows.src/build.inc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -132,19 +132,30 @@
path: edgedb-pkg

- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
uses: dtolnay/rust-toolchain@be73d7920c329f220ce78e0234b8f96b7ae60248
if: << 'false' if tgt.runs_on and 'self-hosted' in tgt.runs_on else 'true' >>
with:
profile: minimal
toolchain: stable
default: true
components: "cargo,rustc,rust-std"
toolchain: "stable"
targets: "<< tgt.arch >>-apple-darwin"

- name: Set up Python
uses: actions/setup-python@v4
if: << 'false' if tgt.runs_on and 'self-hosted' in tgt.runs_on else 'true' >>
with:
python-version: "3.x"

- name: Set up NodeJS
uses: actions/setup-node@v4
if: << 'false' if tgt.runs_on and 'self-hosted' in tgt.runs_on else 'true' >>
with:
node-version: '20'

- name: Install dependencies
if: << 'false' if tgt.runs_on and 'self-hosted' in tgt.runs_on else 'true' >>
run: |
env HOMEBREW_NO_AUTO_UPDATE=1 brew install libmagic
- name: Build
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
Expand All @@ -158,6 +169,7 @@
PKG_PLATFORM: "<< tgt.platform >>"
PKG_PLATFORM_VERSION: "<< tgt.platform_version >>"
PKG_PLATFORM_ARCH: "<< tgt.arch if tgt.arch else '' >>"
EXTRA_OPTIMIZATIONS: "true"
METAPKG_GIT_CACHE: disabled
<%- if tgt.family == "generic" %>
BUILD_GENERIC: true
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows.src/build.targets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -142,10 +142,10 @@ targets:
platform: macos
platform_version: x86_64
family: generic
runs_on: [self-hosted, macOS, X64]
runs_on: [macos-14]
- name: macos-aarch64
arch: aarch64
platform: macos
platform_version: aarch64
family: generic
runs_on: [self-hosted, macOS, ARM64]
runs_on: [macos-14]
56 changes: 40 additions & 16 deletions .github/workflows/dryrun.yml
Original file line number Diff line number Diff line change
Expand Up @@ -888,7 +888,7 @@ jobs:
path: artifacts/linuxmusl-aarch64

build-macos-x86_64:
runs-on: ['self-hosted', 'macOS', 'X64']
runs-on: ['macos-14']
needs: prep

if: needs.prep.outputs.if_macos_x86_64 == 'true'
Expand All @@ -902,19 +902,30 @@ jobs:
path: edgedb-pkg

- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
if: false
uses: dtolnay/rust-toolchain@be73d7920c329f220ce78e0234b8f96b7ae60248
if: true
with:
profile: minimal
toolchain: stable
default: true
components: "cargo,rustc,rust-std"
toolchain: "stable"
targets: "x86_64-apple-darwin"

- name: Set up Python
uses: actions/setup-python@v4
if: false
if: true
with:
python-version: "3.x"

- name: Set up NodeJS
uses: actions/setup-node@v4
if: true
with:
node-version: '20'

- name: Install dependencies
if: true
run: |
env HOMEBREW_NO_AUTO_UPDATE=1 brew install libmagic
- name: Build
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
Expand All @@ -923,6 +934,7 @@ jobs:
PKG_PLATFORM: "macos"
PKG_PLATFORM_VERSION: "x86_64"
PKG_PLATFORM_ARCH: "x86_64"
EXTRA_OPTIMIZATIONS: "true"
METAPKG_GIT_CACHE: disabled
BUILD_GENERIC: true
run: |
Expand All @@ -934,7 +946,7 @@ jobs:
path: artifacts/macos-x86_64

build-macos-aarch64:
runs-on: ['self-hosted', 'macOS', 'ARM64']
runs-on: ['macos-14']
needs: prep

if: needs.prep.outputs.if_macos_aarch64 == 'true'
Expand All @@ -948,19 +960,30 @@ jobs:
path: edgedb-pkg

- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
if: false
uses: dtolnay/rust-toolchain@be73d7920c329f220ce78e0234b8f96b7ae60248
if: true
with:
profile: minimal
toolchain: stable
default: true
components: "cargo,rustc,rust-std"
toolchain: "stable"
targets: "aarch64-apple-darwin"

- name: Set up Python
uses: actions/setup-python@v4
if: false
if: true
with:
python-version: "3.x"

- name: Set up NodeJS
uses: actions/setup-node@v4
if: true
with:
node-version: '20'

- name: Install dependencies
if: true
run: |
env HOMEBREW_NO_AUTO_UPDATE=1 brew install libmagic
- name: Build
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
Expand All @@ -969,6 +992,7 @@ jobs:
PKG_PLATFORM: "macos"
PKG_PLATFORM_VERSION: "aarch64"
PKG_PLATFORM_ARCH: "aarch64"
EXTRA_OPTIMIZATIONS: "true"
METAPKG_GIT_CACHE: disabled
BUILD_GENERIC: true
run: |
Expand Down Expand Up @@ -1422,7 +1446,7 @@ jobs:

test-macos-x86_64:
needs: [build-macos-x86_64]
runs-on: ['self-hosted', 'macOS', 'X64']
runs-on: ['macos-14']

steps:
- uses: actions/checkout@v3
Expand All @@ -1446,7 +1470,7 @@ jobs:
test-macos-aarch64:
needs: [build-macos-aarch64]
runs-on: ['self-hosted', 'macOS', 'ARM64']
runs-on: ['macos-14']

steps:
- uses: actions/checkout@v3
Expand Down
56 changes: 40 additions & 16 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -893,7 +893,7 @@ jobs:
path: artifacts/linuxmusl-aarch64

build-macos-x86_64:
runs-on: ['self-hosted', 'macOS', 'X64']
runs-on: ['macos-14']
needs: prep

if: needs.prep.outputs.if_macos_x86_64 == 'true'
Expand All @@ -907,19 +907,30 @@ jobs:
path: edgedb-pkg

- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
if: false
uses: dtolnay/rust-toolchain@be73d7920c329f220ce78e0234b8f96b7ae60248
if: true
with:
profile: minimal
toolchain: stable
default: true
components: "cargo,rustc,rust-std"
toolchain: "stable"
targets: "x86_64-apple-darwin"

- name: Set up Python
uses: actions/setup-python@v4
if: false
if: true
with:
python-version: "3.x"

- name: Set up NodeJS
uses: actions/setup-node@v4
if: true
with:
node-version: '20'

- name: Install dependencies
if: true
run: |
env HOMEBREW_NO_AUTO_UPDATE=1 brew install libmagic
- name: Build
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
Expand All @@ -928,6 +939,7 @@ jobs:
PKG_PLATFORM: "macos"
PKG_PLATFORM_VERSION: "x86_64"
PKG_PLATFORM_ARCH: "x86_64"
EXTRA_OPTIMIZATIONS: "true"
METAPKG_GIT_CACHE: disabled
BUILD_GENERIC: true
run: |
Expand All @@ -939,7 +951,7 @@ jobs:
path: artifacts/macos-x86_64

build-macos-aarch64:
runs-on: ['self-hosted', 'macOS', 'ARM64']
runs-on: ['macos-14']
needs: prep

if: needs.prep.outputs.if_macos_aarch64 == 'true'
Expand All @@ -953,19 +965,30 @@ jobs:
path: edgedb-pkg

- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
if: false
uses: dtolnay/rust-toolchain@be73d7920c329f220ce78e0234b8f96b7ae60248
if: true
with:
profile: minimal
toolchain: stable
default: true
components: "cargo,rustc,rust-std"
toolchain: "stable"
targets: "aarch64-apple-darwin"

- name: Set up Python
uses: actions/setup-python@v4
if: false
if: true
with:
python-version: "3.x"

- name: Set up NodeJS
uses: actions/setup-node@v4
if: true
with:
node-version: '20'

- name: Install dependencies
if: true
run: |
env HOMEBREW_NO_AUTO_UPDATE=1 brew install libmagic
- name: Build
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
Expand All @@ -974,6 +997,7 @@ jobs:
PKG_PLATFORM: "macos"
PKG_PLATFORM_VERSION: "aarch64"
PKG_PLATFORM_ARCH: "aarch64"
EXTRA_OPTIMIZATIONS: "true"
METAPKG_GIT_CACHE: disabled
BUILD_GENERIC: true
run: |
Expand Down Expand Up @@ -1427,7 +1451,7 @@ jobs:

test-macos-x86_64:
needs: [build-macos-x86_64]
runs-on: ['self-hosted', 'macOS', 'X64']
runs-on: ['macos-14']

steps:
- uses: actions/checkout@v3
Expand All @@ -1451,7 +1475,7 @@ jobs:
test-macos-aarch64:
needs: [build-macos-aarch64]
runs-on: ['self-hosted', 'macOS', 'ARM64']
runs-on: ['macos-14']

steps:
- uses: actions/checkout@v3
Expand Down
Loading

0 comments on commit 25d9e3b

Please sign in to comment.