Merge pull request #14620 from protocolbuffers/win2019-25.x

Backport CI fixes to 25.x
pull/14658/head
Mike Kruskal 1 year ago committed by GitHub
commit 666689e0f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      .github/workflows/staleness_check.yml
  2. 49
      .github/workflows/test_cpp.yml
  3. 1
      .github/workflows/test_python.yml
  4. 15
      .github/workflows/test_upb.yml
  5. 4
      pkg/cc_dist_library.bzl

@ -50,6 +50,7 @@ jobs:
# tests along with user changes. Any stale files will be automatically fixed in a follow-up # tests along with user changes. Any stale files will be automatically fixed in a follow-up
# commit. # commit.
run: | run: |
set -ex
if [[ -z $COMMIT_TRIGGERED_RUN || -z $MAIN_RUN ]]; then if [[ -z $COMMIT_TRIGGERED_RUN || -z $MAIN_RUN ]]; then
bazel query 'attr(tags, "staleness_test", //...)' | xargs bazel test $BAZEL_FLAGS || \ bazel query 'attr(tags, "staleness_test", //...)' | xargs bazel test $BAZEL_FLAGS || \
echo "Please run ./regenerate_stale_files.sh to regenerate stale files" echo "Please run ./regenerate_stale_files.sh to regenerate stale files"

@ -324,8 +324,8 @@ jobs:
# for Apple Silicon to detect issues there. # for Apple Silicon to detect issues there.
bazel: build --cpu=darwin_arm64 //src/... bazel: build --cpu=darwin_arm64 //src/...
- name: Windows - name: Windows
os: windows-2019 os: windows-2022
cache_key: windows-2019 cache_key: windows-2022
bazel: test //src/... @com_google_protobuf_examples//... --test_tag_filters=-conformance --build_tag_filters=-conformance bazel: test //src/... @com_google_protobuf_examples//... --test_tag_filters=-conformance --build_tag_filters=-conformance
name: ${{ matrix.name }} Bazel name: ${{ matrix.name }} Bazel
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
@ -351,14 +351,6 @@ jobs:
flags: -DCMAKE_CXX_STANDARD=14 flags: -DCMAKE_CXX_STANDARD=14
cache-prefix: macos-cmake cache-prefix: macos-cmake
- name: Windows CMake - name: Windows CMake
os: windows-2019
flags: >-
-G Ninja -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_CONFORMANCE=OFF
-Dprotobuf_BUILD_SHARED_LIBS=OFF
-Dprotobuf_BUILD_EXAMPLES=ON
vsversion: '2019'
cache-prefix: windows-2019-cmake
- name: Windows CMake 2022
os: windows-2022 os: windows-2022
flags: >- flags: >-
-G Ninja -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_CONFORMANCE=OFF -G Ninja -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_CONFORMANCE=OFF
@ -366,29 +358,39 @@ jobs:
-Dprotobuf_BUILD_EXAMPLES=ON -Dprotobuf_BUILD_EXAMPLES=ON
vsversion: '2022' vsversion: '2022'
cache-prefix: windows-2022-cmake cache-prefix: windows-2022-cmake
- name: Windows CMake 32-bit - name: Windows CMake 2019
os: windows-2019 os: windows-2019
flags: >- flags: >-
-G Ninja -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_CONFORMANCE=OFF -G Ninja -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_CONFORMANCE=OFF
-Dprotobuf_BUILD_SHARED_LIBS=OFF
-Dprotobuf_BUILD_EXAMPLES=ON
vsversion: '2019' vsversion: '2019'
cache-prefix: windows-2019-cmake
# windows-2019 has python3.7 installed, which is incompatible with the latest gcloud
python-version: '3.8'
- name: Windows CMake 32-bit
os: windows-2022
flags: >-
-G Ninja -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_CONFORMANCE=OFF
vsversion: '2022'
windows-arch: 'win32' windows-arch: 'win32'
cache-prefix: windows-2019-win32-cmake cache-prefix: windows-2022-win32-cmake
- name: Windows CMake Shared - name: Windows CMake Shared
os: windows-2019 os: windows-2022
flags: >- flags: >-
-G Ninja -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_CONFORMANCE=OFF -G Ninja -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_CONFORMANCE=OFF
-Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_BUILD_SHARED_LIBS=ON
vsversion: '2019' vsversion: '2022'
cache-prefix: windows-2019-cmake cache-prefix: windows-2022-cmake
- name: Windows CMake Install - name: Windows CMake Install
os: windows-2019 os: windows-2022
install-flags: -G Ninja -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_CONFORMANCE=OFF -Dprotobuf_BUILD_TESTS=OFF install-flags: -G Ninja -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_CONFORMANCE=OFF -Dprotobuf_BUILD_TESTS=OFF
flags: >- flags: >-
-G Ninja -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_CONFORMANCE=OFF -G Ninja -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_CONFORMANCE=OFF
-Dprotobuf_REMOVE_INSTALLED_HEADERS=ON -Dprotobuf_REMOVE_INSTALLED_HEADERS=ON
-Dprotobuf_BUILD_PROTOBUF_BINARIES=OFF -Dprotobuf_BUILD_PROTOBUF_BINARIES=OFF
vsversion: '2019' vsversion: '2022'
cache-prefix: windows-2019-cmake cache-prefix: windows-2022-cmake
name: ${{ matrix.name }} name: ${{ matrix.name }}
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
@ -405,6 +407,17 @@ jobs:
arch: ${{ matrix.windows-arch || 'x64' }} arch: ${{ matrix.windows-arch || 'x64' }}
vsversion: ${{ matrix.vsversion }} vsversion: ${{ matrix.vsversion }}
# Workaround for incompatibility between gcloud and windows-2019 runners.
- name: Install Python
if: ${{ matrix.python-version }}
uses: actions/setup-python@61a6322f88396a6271a6ee3565807d608ecaddd1 # v4.7.0
with:
python-version: ${{ matrix.python-version }}
- name: Use custom python for gcloud
if: ${{ matrix.python-version }}
run: echo "CLOUDSDK_PYTHON=${Python3_ROOT_DIR}\\python3" >> $GITHUB_ENV
shell: bash
- name: Setup sccache - name: Setup sccache
uses: protocolbuffers/protobuf-ci/sccache@v2 uses: protocolbuffers/protobuf-ci/sccache@v2
with: with:

@ -76,6 +76,7 @@ jobs:
with: with:
python-version: ${{ matrix.version }} python-version: ${{ matrix.version }}
cache: pip cache: pip
cache-dependency-path: 'python/requirements.txt'
- name: Validate version - name: Validate version
run: python3 --version | grep ${{ matrix.version }} || (echo "Invalid Python version - $(python3 --version)" && exit 1) run: python3 --version | grep ${{ matrix.version }} || (echo "Invalid Python version - $(python3 --version)" && exit 1)

@ -64,12 +64,16 @@ jobs:
strategy: strategy:
fail-fast: false # Don't cancel all jobs if one fails. fail-fast: false # Don't cancel all jobs if one fails.
name: Windows name: Windows
runs-on: windows-2019 runs-on: windows-2022
steps: steps:
- name: Checkout pending changes - name: Checkout pending changes
uses: protocolbuffers/protobuf-ci/checkout@v2 uses: protocolbuffers/protobuf-ci/checkout@v2
with: with:
ref: ${{ inputs.safe-checkout }} ref: ${{ inputs.safe-checkout }}
- uses: actions/setup-python@61a6322f88396a6271a6ee3565807d608ecaddd1 # v4.7.0
with:
cache: pip
cache-dependency-path: 'python/requirements.txt'
- name: Run tests - name: Run tests
uses: protocolbuffers/protobuf-ci/bazel@v2 uses: protocolbuffers/protobuf-ci/bazel@v2
with: with:
@ -92,6 +96,11 @@ jobs:
uses: protocolbuffers/protobuf-ci/checkout@v2 uses: protocolbuffers/protobuf-ci/checkout@v2
with: with:
ref: ${{ inputs.safe-checkout }} ref: ${{ inputs.safe-checkout }}
- uses: actions/setup-python@61a6322f88396a6271a6ee3565807d608ecaddd1 # v4.7.0
with:
cache: pip
cache-dependency-path: 'python/requirements.txt'
python-version: '3.11' # 3.12 doesn't have setuptools
- name: Run tests - name: Run tests
uses: protocolbuffers/protobuf-ci/bazel@v2 uses: protocolbuffers/protobuf-ci/bazel@v2
with: with:
@ -195,7 +204,7 @@ jobs:
with: with:
name: requirements name: requirements
path: requirements path: requirements
- uses: actions/setup-python@v2 - uses: actions/setup-python@61a6322f88396a6271a6ee3565807d608ecaddd1 # v4.7.0
with: with:
python-version: ${{ matrix.python-version }} python-version: ${{ matrix.python-version }}
architecture: ${{ matrix.architecture }} architecture: ${{ matrix.architecture }}
@ -250,7 +259,7 @@ jobs:
path: wheels path: wheels
- name: Delete Binary Wheels - name: Delete Binary Wheels
run: find wheels -type f | grep -v none-any | xargs rm run: find wheels -type f | grep -v none-any | xargs rm
- uses: actions/setup-python@v2 - uses: actions/setup-python@61a6322f88396a6271a6ee3565807d608ecaddd1 # v4.7.0
with: with:
python-version: ${{ matrix.python-version }} python-version: ${{ matrix.python-version }}
- name: Setup Python venv - name: Setup Python venv

@ -170,12 +170,12 @@ def _cc_file_list_aspect_impl(target, ctx):
return [CcFileList( return [CcFileList(
hdrs = _get_transitive_sources( hdrs = _get_transitive_sources(
_flatten_target_files(rule_attr.hdrs).to_list(), _flatten_target_files(getattr(rule_attr, "hdrs", [])).to_list(),
"hdrs", "hdrs",
rule_attr.deps, rule_attr.deps,
), ),
textual_hdrs = _get_transitive_sources( textual_hdrs = _get_transitive_sources(
_flatten_target_files(rule_attr.textual_hdrs).to_list(), _flatten_target_files(getattr(rule_attr, "textual_hdrs", [])).to_list(),
"textual_hdrs", "textual_hdrs",
rule_attr.deps, rule_attr.deps,
), ),

Loading…
Cancel
Save