Skip to content

Commit 2ad7546

Browse files
mkruskal-googlecopybara-github
authored andcommitted
Re-enable aarch64 tests.
These were broken by a QEMU bug that appears to have been broken by a recent hardening added to the ubuntu kernel rolled out to the github runner images. See https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/2096782 and tonistiigi/binfmt#215 for more information. PiperOrigin-RevId: 740895829
1 parent af3cf83 commit 2ad7546

File tree

3 files changed

+67
-70
lines changed

3 files changed

+67
-70
lines changed

.github/workflows/test_cpp.yml

+1-2
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,7 @@ jobs:
105105
strategy:
106106
fail-fast: false # Don't cancel all jobs if one fails.
107107
matrix:
108-
# TODO: Re-enable once aarch64 is fixed.
109-
arch: [x86_64]
108+
arch: [x86_64, aarch64]
110109
name: Linux Release ${{ matrix.arch }}
111110
runs-on: ubuntu-22-4core
112111
steps:

.github/workflows/test_php.yml

+36-37
Original file line numberDiff line numberDiff line change
@@ -147,43 +147,42 @@ jobs:
147147
composer update --ignore-platform-reqs;
148148
composer ${{ matrix.test }}'
149149
150-
# TODO: Re-enable once aarch64 is fixed.
151-
# linux-aarch64:
152-
# name: Linux aarch64
153-
# runs-on: ubuntu-22-4core
154-
# steps:
155-
# - name: Checkout pending changes
156-
# uses: protocolbuffers/protobuf-ci/checkout@v4
157-
# with:
158-
# ref: ${{ inputs.safe-checkout }}
159-
160-
# - name: Cross compile protoc for aarch64
161-
# id: cross-compile
162-
# uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v4
163-
# with:
164-
# image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:7.1.2-bec4e87effd62da1d4f9a13d377e37bcb80376c9
165-
# credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
166-
# architecture: linux-aarch64
167-
168-
# - name: Setup composer
169-
# uses: protocolbuffers/protobuf-ci/composer-setup@v4
170-
# with:
171-
# cache-prefix: php-8.1
172-
# directory: php
173-
174-
# - name: Run tests
175-
# uses: protocolbuffers/protobuf-ci/docker@v4
176-
# with:
177-
# image: us-docker.pkg.dev/protobuf-build/containers/test/linux/php-aarch64@sha256:77ff9fdec867bbfb290ee0b10d8b7a3e5e434155daa5ec93de7341c7592b858d
178-
# platform: linux/arm64
179-
# credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
180-
# extra-flags: -e COMPOSER_HOME=/workspace/composer-cache -e PROTOC=/workspace/${{ steps.cross-compile.outputs.protoc }}
181-
# command: >-
182-
# -cex '
183-
# cd php;
184-
# composer update --ignore-platform-reqs;
185-
# composer test;
186-
# composer test_c'
150+
linux-aarch64:
151+
name: Linux aarch64
152+
runs-on: ubuntu-22-4core
153+
steps:
154+
- name: Checkout pending changes
155+
uses: protocolbuffers/protobuf-ci/checkout@v4
156+
with:
157+
ref: ${{ inputs.safe-checkout }}
158+
159+
- name: Cross compile protoc for aarch64
160+
id: cross-compile
161+
uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v4
162+
with:
163+
image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:7.1.2-bec4e87effd62da1d4f9a13d377e37bcb80376c9
164+
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
165+
architecture: linux-aarch64
166+
167+
- name: Setup composer
168+
uses: protocolbuffers/protobuf-ci/composer-setup@v4
169+
with:
170+
cache-prefix: php-8.1
171+
directory: php
172+
173+
- name: Run tests
174+
uses: protocolbuffers/protobuf-ci/docker@v4
175+
with:
176+
image: us-docker.pkg.dev/protobuf-build/containers/test/linux/php-aarch64@sha256:77ff9fdec867bbfb290ee0b10d8b7a3e5e434155daa5ec93de7341c7592b858d
177+
platform: linux/arm64
178+
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
179+
extra-flags: -e COMPOSER_HOME=/workspace/composer-cache -e PROTOC=/workspace/${{ steps.cross-compile.outputs.protoc }}
180+
command: >-
181+
-cex '
182+
cd php;
183+
composer update --ignore-platform-reqs;
184+
composer test;
185+
composer test_c'
187186
188187
macos:
189188
strategy:

.github/workflows/test_ruby.yml

+30-31
Original file line numberDiff line numberDiff line change
@@ -95,37 +95,36 @@ jobs:
9595
rake clobber_package gem;
9696
PROTOC=/workspace/${{ steps.cross-compile.outputs.protoc }} rake test'
9797
98-
# TODO: Re-enable once aarch64 is fixed.
99-
# linux-aarch64:
100-
# name: Linux aarch64
101-
# runs-on: ubuntu-22-4core
102-
# steps:
103-
# - name: Checkout pending changes
104-
# uses: protocolbuffers/protobuf-ci/checkout@v4
105-
# with:
106-
# ref: ${{ inputs.safe-checkout }}
107-
108-
# - name: Cross compile protoc for aarch64
109-
# id: cross-compile
110-
# uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v4
111-
# with:
112-
# image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:7.1.2-cf84e92285ca133b9c8104ad7b14d70e953cbb8e
113-
# credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
114-
# architecture: linux-aarch64
115-
116-
# - name: Run tests
117-
# uses: protocolbuffers/protobuf-ci/docker@v4
118-
# with:
119-
# image: arm64v8/ruby:3.1.6-bullseye
120-
# credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
121-
# command: >-
122-
# /bin/bash -cex '
123-
# gem install bundler -v 2.6.6;
124-
# cd /workspace/ruby;
125-
# bundle;
126-
# PROTOC=/workspace/${{ steps.cross-compile.outputs.protoc }} rake;
127-
# rake clobber_package gem;
128-
# PROTOC=/workspace/${{ steps.cross-compile.outputs.protoc }} rake test'
98+
linux-aarch64:
99+
name: Linux aarch64
100+
runs-on: ubuntu-22-4core
101+
steps:
102+
- name: Checkout pending changes
103+
uses: protocolbuffers/protobuf-ci/checkout@v4
104+
with:
105+
ref: ${{ inputs.safe-checkout }}
106+
107+
- name: Cross compile protoc for aarch64
108+
id: cross-compile
109+
uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v4
110+
with:
111+
image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:7.1.2-cf84e92285ca133b9c8104ad7b14d70e953cbb8e
112+
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
113+
architecture: linux-aarch64
114+
115+
- name: Run tests
116+
uses: protocolbuffers/protobuf-ci/docker@v4
117+
with:
118+
image: arm64v8/ruby:3.1.4-buster
119+
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
120+
command: >-
121+
/bin/bash -cex '
122+
gem install bundler -v 2.6.6;
123+
cd /workspace/ruby;
124+
bundle;
125+
PROTOC=/workspace/${{ steps.cross-compile.outputs.protoc }} rake;
126+
rake clobber_package gem;
127+
PROTOC=/workspace/${{ steps.cross-compile.outputs.protoc }} rake test'
129128
130129
macos:
131130
strategy:

0 commit comments

Comments
 (0)