Skip to content

[table-driven-branch] Updates from main #563

[table-driven-branch] Updates from main

[table-driven-branch] Updates from main #563

name: Run Protobuf Head Conformance Tests
# This work workflow checks out head protocolbuffers/protobuf and runs the
# conformances with that.
#
# It runs on all PRs/Commits and also runs on a Cron to keep an eye out for
# new conformance tests that get added upstream.
permissions:
contents: read
on:
push:
branches: [ table-driven-branch ]
pull_request:
branches: [ table-driven-branch ]
jobs:
build:
runs-on: ubuntu-latest
container:
# Unlike build.yml we only worry about the conformance test with the
# latest Swift release.
image: swift:latest
steps:
- name: Checkout
uses: actions/checkout@v6
with:
path: swift-protobuf
- name: Update and install dependencies
# Dependencies from https://github.com/protocolbuffers/protobuf/blob/main/src/README.md
run: apt-get update && apt-get install -y make g++ cmake
- name: Checkout protobufbuffers/protobuf
uses: actions/checkout@v6
with:
repository: protocolbuffers/protobuf
path: protobuf
# Using a commit from Fri Aug 14 16:16:08 2026 -0700 when cmake still built.
# remove this once main seems to be building again.
ref: e7e6ef07ba38d5234a48122e3089c4b9da1bbb12
- name: Build protobuf
working-directory: protobuf
# https://github.com/protocolbuffers/protobuf/blob/main/cmake/README.md#c-version
run: |
mkdir cmake_build
cd cmake_build
cmake \
-DCMAKE_CXX_STANDARD=17 \
-DCMAKE_BUILD_TYPE=Release \
-Dprotobuf_BUILD_TESTS=OFF \
-Dprotobuf_INSTALL=OFF \
-Dprotobuf_BUILD_CONFORMANCE=ON \
-S ..
NUM_CPUS=$(getconf _NPROCESSORS_ONLN)
make -j "${NUM_CPUS}" conformance_test_runner
- name: Test conformance
working-directory: swift-protobuf
run: make test-conformance GOOGLE_PROTOBUF_CHECKOUT=../protobuf