Skip to content

Commit ec1bb98

Browse files
committed
Fix macOS Apple Silicon release builds
The `docker.elastic.co/beats-dev/golang-crossbuild:1.24.0-darwin-arm64-debian10` container is used for the release builds for the macOS Apple Silicon host. This container will only run on hosts of the linux/arm64 architecture. The GitHub Actions runner machine previously used to perform the release builds is of the linux/amd64 architecture and so is not compatible with the container. This caused the release builds to fail: ``` Status: Downloaded newer image for docker.elastic.co/beats-dev/golang-crossbuild:1.24.0-darwin-arm64-debian10 WARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64/v3) and no specific platform was requested exec /crossbuild: exec format error task: Failed to run task "dist:macOS_ARM64": exit status 255 ``` The failure is resolved by configuring the release workflows to use the `ubuntu-24.04-arm` runner machine that is compatible with the container. The standard practice is to use the "latest" GitHub Actions runner identifiers, which causes the workflow runs to always use the newest stable runner version. However, GitHub has broken from this established convention by refusing to provide "latest" identifiers for the Linux ARM runners. For this reason, the version-specific runner name was used in the workflow. It will be necessary to manually update the runner name as new stable versions are made available (or more likely after the removal of the runner in use breaks the workflows).
1 parent 77a077d commit ec1bb98

File tree

3 files changed

+30
-3
lines changed

3 files changed

+30
-3
lines changed

.github/workflows/publish-go-nightly-task.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ on:
2121

2222
jobs:
2323
create-nightly-artifacts:
24-
runs-on: ubuntu-latest
24+
runs-on: ${{ matrix.os.runner }}
2525
permissions:
2626
contents: read
2727

@@ -30,22 +30,31 @@ jobs:
3030
os:
3131
- task: Windows_32bit
3232
artifact-suffix: Windows_32bit
33+
runner: ubuntu-latest
3334
- task: Windows_64bit
3435
artifact-suffix: Windows_64bit
36+
runner: ubuntu-latest
3537
- task: Linux_32bit
3638
artifact-suffix: Linux_32bit
39+
runner: ubuntu-latest
3740
- task: Linux_64bit
3841
artifact-suffix: Linux_64bit
42+
runner: ubuntu-latest
3943
- task: Linux_ARMv6
4044
artifact-suffix: Linux_ARMv6
45+
runner: ubuntu-latest
4146
- task: Linux_ARMv7
4247
artifact-suffix: Linux_ARMv7
48+
runner: ubuntu-latest
4349
- task: Linux_ARM64
4450
artifact-suffix: Linux_ARM64
51+
runner: ubuntu-latest
4552
- task: macOS_64bit
4653
artifact-suffix: macOS_64bit
54+
runner: ubuntu-latest
4755
- task: macOS_ARM64
4856
artifact-suffix: macOS_ARM64
57+
runner: ubuntu-24.04-arm
4958

5059
steps:
5160
- name: Checkout repository

.github/workflows/publish-go-tester-task.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ jobs:
7878
build:
7979
needs: package-name-prefix
8080
name: Build ${{ matrix.os.artifact-name }}
81-
runs-on: ubuntu-latest
81+
runs-on: ${{ matrix.os.runner }}
8282
permissions:
8383
contents: read
8484

@@ -87,30 +87,39 @@ jobs:
8787
os:
8888
- task: Windows_32bit
8989
path: "*Windows_32bit.zip"
90+
runner: ubuntu-latest
9091
artifact-name: Windows_X86-32
9192
- task: Windows_64bit
9293
path: "*Windows_64bit.zip"
94+
runner: ubuntu-latest
9395
artifact-name: Windows_X86-64
9496
- task: Linux_32bit
9597
path: "*Linux_32bit.tar.gz"
98+
runner: ubuntu-latest
9699
artifact-name: Linux_X86-32
97100
- task: Linux_64bit
98101
path: "*Linux_64bit.tar.gz"
102+
runner: ubuntu-latest
99103
artifact-name: Linux_X86-64
100104
- task: Linux_ARMv6
101105
path: "*Linux_ARMv6.tar.gz"
106+
runner: ubuntu-latest
102107
artifact-name: Linux_ARMv6
103108
- task: Linux_ARMv7
104109
path: "*Linux_ARMv7.tar.gz"
110+
runner: ubuntu-latest
105111
artifact-name: Linux_ARMv7
106112
- task: Linux_ARM64
107113
path: "*Linux_ARM64.tar.gz"
114+
runner: ubuntu-latest
108115
artifact-name: Linux_ARM64
109116
- task: macOS_64bit
110117
path: "*macOS_64bit.tar.gz"
118+
runner: ubuntu-latest
111119
artifact-name: macOS_64
112120
- task: macOS_ARM64
113121
path: "*macOS_ARM64.tar.gz"
122+
runner: ubuntu-24.04-arm
114123
artifact-name: macOS_ARM64
115124

116125
steps:

.github/workflows/release-go-task.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ on:
1818

1919
jobs:
2020
create-release-artifacts:
21-
runs-on: ubuntu-latest
21+
runs-on: ${{ matrix.os.runner }}
2222
permissions:
2323
contents: read
2424

@@ -27,22 +27,31 @@ jobs:
2727
os:
2828
- task: Windows_32bit
2929
artifact-suffix: Windows_32bit
30+
runner: ubuntu-latest
3031
- task: Windows_64bit
3132
artifact-suffix: Windows_64bit
33+
runner: ubuntu-latest
3234
- task: Linux_32bit
3335
artifact-suffix: Linux_32bit
36+
runner: ubuntu-latest
3437
- task: Linux_64bit
3538
artifact-suffix: Linux_64bit
39+
runner: ubuntu-latest
3640
- task: Linux_ARMv6
3741
artifact-suffix: Linux_ARMv6
42+
runner: ubuntu-latest
3843
- task: Linux_ARMv7
3944
artifact-suffix: Linux_ARMv7
45+
runner: ubuntu-latest
4046
- task: Linux_ARM64
4147
artifact-suffix: Linux_ARM64
48+
runner: ubuntu-latest
4249
- task: macOS_64bit
4350
artifact-suffix: macOS_64bit
51+
runner: ubuntu-latest
4452
- task: macOS_ARM64
4553
artifact-suffix: macOS_ARM64
54+
runner: ubuntu-24.04-arm
4655

4756
steps:
4857
- name: Checkout repository

0 commit comments

Comments
 (0)