aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Kruskal <62662355+mkruskal-google@users.noreply.github.com>2023-11-02 13:41:48 -0700
committerGitHub <noreply@github.com>2023-11-02 13:41:48 -0700
commit666689e0f7ce71fa01d7641ac39ae5e2cd2e72a9 (patch)
treecda32985f556ca73cb230167d8f12ee20c054149
parentcfd4223b1e21346f6f12633693f049641d6c437f (diff)
parent1577c305cf0928b4b29433812a4dfcb26d37249d (diff)
downloadprotobuf-666689e0f7ce71fa01d7641ac39ae5e2cd2e72a9.tar.gz
Merge pull request #14620 from protocolbuffers/win2019-25.x
Backport CI fixes to 25.x
-rw-r--r--.github/workflows/staleness_check.yml1
-rw-r--r--.github/workflows/test_cpp.yml49
-rw-r--r--.github/workflows/test_python.yml1
-rw-r--r--.github/workflows/test_upb.yml15
-rw-r--r--pkg/cc_dist_library.bzl4
5 files changed, 47 insertions, 23 deletions
diff --git a/.github/workflows/staleness_check.yml b/.github/workflows/staleness_check.yml
index 273a4b011..01077caa5 100644
--- a/.github/workflows/staleness_check.yml
+++ b/.github/workflows/staleness_check.yml
@@ -50,6 +50,7 @@ jobs:
# tests along with user changes. Any stale files will be automatically fixed in a follow-up
# commit.
run: |
+ set -ex
if [[ -z $COMMIT_TRIGGERED_RUN || -z $MAIN_RUN ]]; then
bazel query 'attr(tags, "staleness_test", //...)' | xargs bazel test $BAZEL_FLAGS || \
echo "Please run ./regenerate_stale_files.sh to regenerate stale files"
diff --git a/.github/workflows/test_cpp.yml b/.github/workflows/test_cpp.yml
index 511f9ec18..cc2004bc3 100644
--- a/.github/workflows/test_cpp.yml
+++ b/.github/workflows/test_cpp.yml
@@ -324,8 +324,8 @@ jobs:
# for Apple Silicon to detect issues there.
bazel: build --cpu=darwin_arm64 //src/...
- name: Windows
- os: windows-2019
- cache_key: windows-2019
+ os: windows-2022
+ cache_key: windows-2022
bazel: test //src/... @com_google_protobuf_examples//... --test_tag_filters=-conformance --build_tag_filters=-conformance
name: ${{ matrix.name }} Bazel
runs-on: ${{ matrix.os }}
@@ -351,14 +351,6 @@ jobs:
flags: -DCMAKE_CXX_STANDARD=14
cache-prefix: macos-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
flags: >-
-G Ninja -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_CONFORMANCE=OFF
@@ -366,29 +358,39 @@ jobs:
-Dprotobuf_BUILD_EXAMPLES=ON
vsversion: '2022'
cache-prefix: windows-2022-cmake
- - name: Windows CMake 32-bit
+ - name: Windows CMake 2019
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
+ # 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'
- cache-prefix: windows-2019-win32-cmake
+ cache-prefix: windows-2022-win32-cmake
- name: Windows CMake Shared
- os: windows-2019
+ os: windows-2022
flags: >-
-G Ninja -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_CONFORMANCE=OFF
-Dprotobuf_BUILD_SHARED_LIBS=ON
- vsversion: '2019'
- cache-prefix: windows-2019-cmake
+ vsversion: '2022'
+ cache-prefix: windows-2022-cmake
- 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
flags: >-
-G Ninja -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_CONFORMANCE=OFF
-Dprotobuf_REMOVE_INSTALLED_HEADERS=ON
-Dprotobuf_BUILD_PROTOBUF_BINARIES=OFF
- vsversion: '2019'
- cache-prefix: windows-2019-cmake
+ vsversion: '2022'
+ cache-prefix: windows-2022-cmake
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
steps:
@@ -405,6 +407,17 @@ jobs:
arch: ${{ matrix.windows-arch || 'x64' }}
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
uses: protocolbuffers/protobuf-ci/sccache@v2
with:
diff --git a/.github/workflows/test_python.yml b/.github/workflows/test_python.yml
index e207ee3a9..0bec9a06c 100644
--- a/.github/workflows/test_python.yml
+++ b/.github/workflows/test_python.yml
@@ -76,6 +76,7 @@ jobs:
with:
python-version: ${{ matrix.version }}
cache: pip
+ cache-dependency-path: 'python/requirements.txt'
- name: Validate version
run: python3 --version | grep ${{ matrix.version }} || (echo "Invalid Python version - $(python3 --version)" && exit 1)
diff --git a/.github/workflows/test_upb.yml b/.github/workflows/test_upb.yml
index 21ec30887..ebe59aa7e 100644
--- a/.github/workflows/test_upb.yml
+++ b/.github/workflows/test_upb.yml
@@ -64,12 +64,16 @@ jobs:
strategy:
fail-fast: false # Don't cancel all jobs if one fails.
name: Windows
- runs-on: windows-2019
+ runs-on: windows-2022
steps:
- name: Checkout pending changes
uses: protocolbuffers/protobuf-ci/checkout@v2
with:
ref: ${{ inputs.safe-checkout }}
+ - uses: actions/setup-python@61a6322f88396a6271a6ee3565807d608ecaddd1 # v4.7.0
+ with:
+ cache: pip
+ cache-dependency-path: 'python/requirements.txt'
- name: Run tests
uses: protocolbuffers/protobuf-ci/bazel@v2
with:
@@ -92,6 +96,11 @@ jobs:
uses: protocolbuffers/protobuf-ci/checkout@v2
with:
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
uses: protocolbuffers/protobuf-ci/bazel@v2
with:
@@ -195,7 +204,7 @@ jobs:
with:
name: requirements
path: requirements
- - uses: actions/setup-python@v2
+ - uses: actions/setup-python@61a6322f88396a6271a6ee3565807d608ecaddd1 # v4.7.0
with:
python-version: ${{ matrix.python-version }}
architecture: ${{ matrix.architecture }}
@@ -250,7 +259,7 @@ jobs:
path: wheels
- name: Delete Binary Wheels
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:
python-version: ${{ matrix.python-version }}
- name: Setup Python venv
diff --git a/pkg/cc_dist_library.bzl b/pkg/cc_dist_library.bzl
index 42553ca3f..9fc2c414e 100644
--- a/pkg/cc_dist_library.bzl
+++ b/pkg/cc_dist_library.bzl
@@ -170,12 +170,12 @@ def _cc_file_list_aspect_impl(target, ctx):
return [CcFileList(
hdrs = _get_transitive_sources(
- _flatten_target_files(rule_attr.hdrs).to_list(),
+ _flatten_target_files(getattr(rule_attr, "hdrs", [])).to_list(),
"hdrs",
rule_attr.deps,
),
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",
rule_attr.deps,
),