Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 36 additions & 2 deletions .github/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,9 +1,35 @@
# This information is extracted from the MacOS runner specs located at:
# https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md
# https://github.com/actions/runner-images/blob/main/images/macos/macos-14-arm64-Readme.md
#
# When updating, also ensure the "xcode_destination" entries in
# `.github/workflows/test_objectivec.yml` are supported for the given versions
# of Xcode.
xcode_version(
name = "version16_0",
aliases = [
"160",
"16.0",
],
default_ios_sdk_version = "17.2",
default_macos_sdk_version = "14.2",
default_tvos_sdk_version = "17.2",
default_watchos_sdk_version = "10.2",
version = "16.0",
)

xcode_version(
name = "version15_2_15C500b",
aliases = [
"15C500b",
"15.2",
],
default_ios_sdk_version = "17.2",
default_macos_sdk_version = "14.2",
default_tvos_sdk_version = "17.2",
default_watchos_sdk_version = "10.2",
version = "15.2.0.15C500b",
)

xcode_version(
name = "version14_2_14C18",
aliases = ["14C18"],
Expand All @@ -26,9 +52,17 @@ xcode_version(

xcode_config(
name = "host_xcodes",
default = ":version14_1_0_14B47b",
default = ":version15_2_15C500b",
versions = [
":version14_2_14C18",
":version14_1_0_14B47b",
":version15_2_15C500b"
],
)

# https://github.com/actions/runner-images/blob/main/images/macos/macos-15-Readme.md
xcode_config(
name = "host_xcodes_macos15",
default = ":version16_0",
versions = [":version16_0"],
)
27 changes: 14 additions & 13 deletions .github/workflows/test_cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -313,17 +313,19 @@ jobs:
fail-fast: false # Don't cancel all jobs if one fails.
matrix:
include:
- name: MacOS
os: macos-13
cache_key: macos-13
bazel: test //src/...
- name: MacOS Apple Silicon (build only)
os: macos-13
cache_key: macos-13-arm
# Current github runners are all Intel based, so just build/compile
# for Apple Silicon to detect issues there.
bazel: build --cpu=darwin_arm64 //src/...
- name: Windows
- name: MacOS Bazel
os: macos-14
cache_key: macos-14-bazel8
bazel: test //src/... //third_party/utf8_range/... //conformance:conformance_framework_tests
- name: MacOS Apple Silicon Bazel
os: macos-14
cache_key: macos-14-arm
bazel: test --cpu=darwin_arm64 //src/... //third_party/utf8_range/... //conformance:conformance_framework_tests
- name: MacOS Intel Bazel
os: macos-14
cache_key: macos-14-intel
bazel: test --cpu=darwin_x86_64 //src/... //third_party/utf8_range/... //conformance:conformance_framework_tests
- name: Windows Bazel
os: windows-2022
cache_key: windows-2022
bazel: test //src/... @com_google_protobuf_examples//... --test_tag_filters=-conformance --build_tag_filters=-conformance
Expand All @@ -347,8 +349,7 @@ jobs:
matrix:
include:
- name: MacOS CMake
os: macos-13
flags: -DCMAKE_CXX_STANDARD=14
os: macos-14
cache-prefix: macos-cmake
- name: Windows CMake
os: windows-2022
Expand Down
26 changes: 16 additions & 10 deletions .github/workflows/test_objectivec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,13 @@ jobs:
destination: "platform=macOS"
xc_project: "ProtocolBuffers_OSX.xcodeproj"
- platform: "iOS"
destination: "platform=iOS Simulator,name=iPhone 14,OS=latest"
destination: "platform=iOS Simulator,name=iPhone 15,OS=latest"
xc_project: "ProtocolBuffers_iOS.xcodeproj"

name: Xcode ${{ matrix.platform}} ${{ matrix.xc_config }}
runs-on: macos-13
name: ${{ matrix.continuous-only && inputs.continuous-prefix || '' }} Xcode ${{ matrix.platform}} ${{ matrix.xc_config }}
runs-on: macos-14
env:
DEVELOPER_DIR: /Applications/Xcode_14.1.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_15.2.app/Contents/Developer
steps:
- name: Checkout pending changes
uses: protocolbuffers/protobuf-ci/checkout@v2
Expand All @@ -49,6 +49,7 @@ jobs:
env:
CC: ${{ github.workspace }}/ci/clang_wrapper
CXX: ${{ github.workspace }}/ci/clang_wrapper++
CODE_SIGN_IDENTITY: "-"
with:
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
command: |
Expand All @@ -71,10 +72,15 @@ jobs:
# Add back 'watchos'. See CocoaPods/CocoaPods#11558
PLATFORM: ["ios", "macos", "tvos"]
CONFIGURATION: ["Debug", "Release"]
name: CocoaPods ${{ matrix.PLATFORM}} ${{ matrix.CONFIGURATION}}
runs-on: macos-13
env:
DEVELOPER_DIR: /Applications/Xcode_14.1.app/Contents/Developer
include:
- OS: macos-14
XCODE: "15.2"
# We run presubmits on all "Debug" entries, but not on "Release" entries
- CONFIGURATION: "Debug"
- CONFIGURATION: "Release"
continuous-only: true
name: ${{ matrix.continuous-only && inputs.continuous-prefix || '' }} CocoaPods ${{ matrix.PLATFORM }} ${{ matrix.CONFIGURATION }}
runs-on: ${{ matrix.OS }}
steps:
- name: Checkout pending changes
uses: protocolbuffers/protobuf-ci/checkout@v2
Expand Down Expand Up @@ -114,8 +120,8 @@ jobs:
include:
- platform: "macOS"
bazel_targets: //objectivec/...
name: Bazel ${{ matrix.platform }} ${{ matrix.config.name }}
runs-on: macos-13
name: ${{ matrix.config.continuous-only && inputs.continuous-prefix || '' }} Bazel ${{ matrix.platform }} ${{ matrix.config.name }}
runs-on: macos-14
steps:
- name: Checkout pending changes
uses: protocolbuffers/protobuf-ci/checkout@v2
Expand Down
31 changes: 9 additions & 22 deletions .github/workflows/test_php.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,6 @@ jobs:
uses: protocolbuffers/protobuf-ci/checkout@v2
with:
ref: ${{ inputs.safe-checkout }}
- name: Setup composer
uses: protocolbuffers/protobuf-ci/composer-setup@v2
with:
cache-prefix: php-${{ matrix.version-short }}
directory: php
- name: Run tests
uses: protocolbuffers/protobuf-ci/docker@v2
with:
Expand Down Expand Up @@ -89,12 +84,6 @@ jobs:
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
architecture: linux-i386

- name: Setup composer
uses: protocolbuffers/protobuf-ci/composer-setup@v2
with:
cache-prefix: php-${{ matrix.version }}
directory: php

- name: Run tests
uses: protocolbuffers/protobuf-ci/docker@v2
with:
Expand All @@ -106,7 +95,7 @@ jobs:
/bin/bash -cex '
PATH="/usr/local/php-${{ matrix.version }}${{matrix.suffix}}/bin:$PATH";
cd php && php -v && php -m;
composer update --ignore-platform-reqs;
composer update;
composer ${{ matrix.test }}'

linux-aarch64:
Expand All @@ -126,12 +115,6 @@ jobs:
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
architecture: linux-aarch64

- name: Setup composer
uses: protocolbuffers/protobuf-ci/composer-setup@v2
with:
cache-prefix: php-8.0
directory: php

- name: Run tests
uses: protocolbuffers/protobuf-ci/docker@v2
with:
Expand All @@ -142,7 +125,7 @@ jobs:
command: >-
-c '
cd php;
composer update --ignore-platform-reqs;
composer update;
composer test;
composer test_c'

Expand All @@ -155,7 +138,7 @@ jobs:

name: ${{ matrix.continuous-only && inputs.continuous-prefix || '' }} MacOS PHP ${{ matrix.version }}
# noop
runs-on: macos-13
runs-on: macos-15-intel
steps:
- name: Checkout pending changes
uses: protocolbuffers/protobuf-ci/checkout@v2
Expand All @@ -181,6 +164,9 @@ jobs:
uses: protocolbuffers/protobuf-ci/bash@v2
with:
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
bazel-version: 8.0.1
# TODO this shouldn't be necessary, remove it
bazel-flags: --xcode_version_config=//.github:host_xcodes_macos15
command: |
pushd php
php -v
Expand All @@ -193,5 +179,6 @@ jobs:
uses: protocolbuffers/protobuf-ci/bazel@v2
with:
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
bazel-cache: php_macos/${{ matrix.version }}
bazel: test //php:conformance_test_c --action_env=PATH --test_env=PATH
version: 8.0.1 # Bazel version
bazel-cache: php_macos15/${{ matrix.version }}
bazel: test //php:conformance_test //php:conformance_test_c --action_env=PATH --test_env=PATH --xcode_version_config=//.github:host_xcodes_macos15
2 changes: 1 addition & 1 deletion .github/workflows/test_python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ jobs:
flags: --define=use_fast_cpp_protos=true

name: MacOS ${{ matrix.type }} ${{ matrix.version }}
runs-on: macos-13
runs-on: macos-14
steps:
- name: Checkout pending changes
uses: protocolbuffers/protobuf-ci/checkout@v2
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/test_ruby.yml
Original file line number Diff line number Diff line change
Expand Up @@ -124,16 +124,16 @@ jobs:
# TODO Re-enable these once flakes are fixed
#- { version: "3.2", ffi: FFI }

name: MacOS Ruby ${{ matrix.version }}${{ matrix.ffi == 'FFI' && ' FFI' || '' }}
runs-on: macos-13
name: ${{ matrix.continuous-only && inputs.continuous-prefix || '' }} MacOS Ruby ${{ matrix.version }}${{ matrix.ffi == 'FFI' && ' FFI' || '' }}
runs-on: macos-14
steps:
- name: Checkout pending changes
uses: protocolbuffers/protobuf-ci/checkout@v2
with:
ref: ${{ inputs.safe-checkout }}

- name: Pin Ruby version
uses: ruby/setup-ruby@961f85197f92e4842e3cb92a4f97bd8e010cdbaf # v1.165.0
uses: ruby/setup-ruby@4a9ddd6f338a97768b8006bf671dfbad383215f4 # v1.207.0
with:
ruby-version: ${{ matrix.version }}

Expand Down
8 changes: 0 additions & 8 deletions .github/workflows/test_runner.yml
Original file line number Diff line number Diff line change
Expand Up @@ -136,14 +136,6 @@ jobs:
safe-checkout: ${{ needs.check-tag.outputs.checkout-sha }}
secrets: inherit

php:
name: PHP
needs: [check-tag]
uses: ./.github/workflows/test_php.yml
with:
safe-checkout: ${{ needs.check-tag.outputs.checkout-sha }}
secrets: inherit

php-ext:
name: PHP Extension
needs: [check-tag]
Expand Down
23 changes: 13 additions & 10 deletions .github/workflows/test_upb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,10 @@ jobs:
matrix:
config:
- { name: "macOS", bazel-command: "test" }
- { name: "macOS ARM (build only)", bazel-command: "build", flags: "--cpu=darwin_arm64" }
- { name: "macOS ARM", bazel-command: "test", flags: "--cpu=darwin_arm64" }
- { name: "macOS Intel", bazel-command: "test", flags: "--cpu=darwin_x86_64" }
name: ${{ matrix.config.name }}
runs-on: macos-13
runs-on: macos-14
steps:
- name: Checkout pending changes
uses: protocolbuffers/protobuf-ci/checkout@v2
Expand Down Expand Up @@ -168,14 +169,16 @@ jobs:
# a single wheel. As a result we can just test the oldest and newest
# supported Python versions and assume this gives us sufficient test
# coverage.
- { os: ubuntu-latest, python-version: "3.8", architecture: x64, type: 'binary' }
- { os: macos-13, python-version: "3.8", architecture: x64, type: 'binary' }
- { os: ubuntu-latest, python-version: "3.11", architecture: x64, type: 'binary' }
- { os: macos-13, python-version: "3.11", architecture: x64, type: 'binary' }
- { os: ubuntu-latest, python-version: "3.8", architecture: x64, type: 'source' }
- { os: macos-13, python-version: "3.8", architecture: x64, type: 'source' }
- { os: ubuntu-latest, python-version: "3.11", architecture: x64, type: 'source' }
- { os: macos-13, python-version: "3.11", architecture: x64, type: 'source' }
- { os: ubuntu-latest, python-version: "3.9", architecture: x64, type: 'binary' }
- { os: macos-14, python-version: "3.9", architecture: arm64, type: 'binary' }
- { os: ubuntu-latest, python-version: "3.13", architecture: x64, type: 'binary' }
- { os: macos-14, python-version: "3.13", architecture: arm64, type: 'binary' }
- { os: ubuntu-latest, python-version: "3.9", architecture: x64, type: 'source'}
- { os: macos-14, python-version: "3.9", architecture: arm64, type: 'source', continuous-only: true }
- { os: ubuntu-latest, python-version: "3.13", architecture: x64, type: 'source'}
- { os: macos-14, python-version: "3.13", architecture: arm64, type: 'source', continuous-only: true }
- { os: ubuntu-latest, python-version: "3.14", architecture: x64, type: 'source', continuous-only: true }
- { os: macos-14, python-version: "3.14", architecture: arm64, type: 'source', continuous-only: true }

# Windows uses the full API up until Python 3.10, so each of these
# jobs tests a distinct binary wheel.
Expand Down
Loading