Skip to content

Commit

Permalink
Quick failure on M-series (arm64) macOS runners (#28)
Browse files Browse the repository at this point in the history
* Check wether M1 detection works

Signed-off-by: Douglas Camata <[email protected]>

* Test action on macOS 13 only

Signed-off-by: Douglas Camata <[email protected]>

* Update README

Signed-off-by: Douglas Camata <[email protected]>

* Keep macOS 12 in the test matrix

Signed-off-by: Douglas Camata <[email protected]>

* Change safety check to be futureproof

Signed-off-by: Douglas Camata <[email protected]>

* Readd macos-14 for another quick test

Signed-off-by: Douglas Camata <[email protected]>

* Fix bash-fu

Signed-off-by: Douglas Camata <[email protected]>

* Another README update

Signed-off-by: Douglas Camata <[email protected]>

* Remove macos-14 from matrix list after test

Signed-off-by: Douglas Camata <[email protected]>

* Add changelog entry

Signed-off-by: Douglas Camata <[email protected]>

---------

Signed-off-by: Douglas Camata <[email protected]>
  • Loading branch information
douglascamata authored Feb 1, 2024
1 parent 3a495e3 commit 12c1c91
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 2 deletions.
6 changes: 5 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@ on:

jobs:
setup-docker:
runs-on: macos-latest
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-12, macos-13]
name: A job to perform a self-test on this Github Action
steps:
# To use this repository's private action,
Expand Down
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning].

## [Unreleased]

### Added

- Fail fast when running on arm64 macOS runners (`macos-14` public runners) ([#28](https://github.com/douglascamata/setup-docker-macos-action/pull/28)).
- None of the arm64 processors on Apple computers support nested virtualization as of today (Feb 1st 2024).

## [v1-alpha.11] - 2024-01-05

### Added
Expand Down
19 changes: 19 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,25 @@ I intend this action to be kept as simple as possible:
- No other OS will be supported.
- Binaries will be downloaded directly from the source when possible.

# Currently supported public runner images

- `macos-12`
- `macos-13`

# ARM64 processors (M1, M2, M3 series) used on `macos-14` images are unsupported!

Yes, exactly what you just read. These processors do not support nested
virtualization. This means Colima can't start the VM to run Docker.

For the M1 processor there is no hope. It lacks the hardware support for this.

The M2 and M3 processors have such hardware support, but no software support
from Apple's Hypervisor framework (so no hopes for QEMU) or Virtualization
framework (alternative to QEMU).

I'm sorry, but there's nothing I can do about it. All we can do is wait. If I
miss the announcement of nested virtualization support, please open an issue.

## Features

- Safety check to ensure the action is running in macOS.
Expand Down
13 changes: 12 additions & 1 deletion action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,23 @@ outputs:
runs:
using: "composite"
steps:
- name: Safety check
- name: OS safety check
if: runner.os != 'macOS'
run: |
echo "Not a macOS runner, exiting."
exit 1
shell: bash
- name: ARM64 safety check
run: |
arch_name=$(uname -m)
if [ "$arch_name" = "arm64" ]
then
echo "Detected M-series processor runner without nested virtualization support, exiting."
exit 1
else
echo "Running on supported architecture: ${arch_name}"
fi
shell: bash
- name: Update Homebrew
run: |
echo "::group::Updating Homebrew"
Expand Down

0 comments on commit 12c1c91

Please sign in to comment.