diff --git a/.github/workflows/staleness_check.yml b/.github/workflows/staleness_check.yml index 4807ac6d7d..86a9848243 100644 --- a/.github/workflows/staleness_check.yml +++ b/.github/workflows/staleness_check.yml @@ -26,7 +26,7 @@ jobs: if: ${{ github.event.repository.full_name == 'protocolbuffers/protobuf' }} steps: - name: Checkout ${{ github.head_ref && 'PR' || matrix.branch }} - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout || github.head_ref || matrix.branch }} @@ -49,7 +49,7 @@ jobs: # In branches where automatic updates work as post-submits, we don't want to run staleness # tests along with user changes. Any stale files will be automatically fixed in a follow-up # commit. - uses: protocolbuffers/protobuf-ci/bazel@v2 + uses: protocolbuffers/protobuf-ci/bazel@v3 with: credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} bazel-cache: staleness diff --git a/.github/workflows/test_bazel.yml b/.github/workflows/test_bazel.yml index 2ba549a1e6..8b6139c35a 100644 --- a/.github/workflows/test_bazel.yml +++ b/.github/workflows/test_bazel.yml @@ -1,23 +1,56 @@ -name: Bazel +name: Bazel Tests -# Controls when the action will run. on: - # Triggers the workflow on push or pull request events but only for the main branch - push: - branches: [main] - pull_request: - branches: [main] - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: + workflow_call: + inputs: + safe-checkout: + required: true + description: "The SHA key for the commit we want to run over" + type: string -concurrency: - # Cancel previous actions from the same PR or branch except 'main' branch. - # See https://docs.github.com/en/actions/using-jobs/using-concurrency and https://docs.github.com/en/actions/learn-github-actions/contexts for more info. - group: concurrency-group::${{ github.workflow }}::${{ github.event.pull_request.number > 0 && format('pr-{0}', github.event.pull_request.number) || github.ref_name }}${{ github.ref_name == 'main' && format('::{0}', github.run_id) || ''}} - cancel-in-progress: ${{ github.ref_name != 'main' }} +permissions: + contents: read jobs: - test: - uses: bazel-contrib/.github/.github/workflows/bazel.yaml@v6 - with: - folders: '["examples"]' + examples: + strategy: + fail-fast: false + matrix: + runner: [ ubuntu, windows, macos ] + bazelversion: [ '7.1.1' ] + bzlmod: [true, false ] + include: + - runner: ubuntu + bazelversion: '6.4.0' + bzlmod: true + - runner: ubuntu + bazelversion: '6.4.0' + bzlmod: false + runs-on: ${{ matrix.runner }}-latest + name: Examples ${{ matrix.runner }} ${{ matrix.bazelversion }}${{ matrix.bzlmod && ' (bzlmod)' || '' }} + steps: + - name: Checkout pending changes + uses: protocolbuffers/protobuf-ci/checkout@v3 + with: + ref: ${{ inputs.safe-checkout }} + + - name: Windows startup flags + if: runner.os == 'Windows' + working-directory: examples + shell: bash + run: echo "startup --output_user_root=C:/ --windows_enable_symlinks" >> .bazelrc + + - name: Configure Bazel version + working-directory: examples + shell: bash + run: echo "${{ matrix.bazelversion }}" > .bazelversion + + - name: Run tests + uses: protocolbuffers/protobuf-ci/bazel@v3 + # TODO Silence this until we have a fix. + if: runner.os != 'Windows' || matrix.bzlmod + with: + credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} + bazel-cache: examples + version: ${{ matrix.bazelversion }} + bash: cd examples && bazel build //... $BAZEL_FLAGS --enable_bzlmod=${{ matrix.bzlmod }} diff --git a/.github/workflows/test_cpp.yml b/.github/workflows/test_cpp.yml index 772402f1c7..8ab24bca85 100644 --- a/.github/workflows/test_cpp.yml +++ b/.github/workflows/test_cpp.yml @@ -43,11 +43,11 @@ jobs: runs-on: ${{ matrix.config.runner || 'ubuntu-latest' }} steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Run tests - uses: protocolbuffers/protobuf-ci/bazel-docker@v2 + uses: protocolbuffers/protobuf-ci/bazel-docker@v3 with: image: ${{ matrix.image }} credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -63,11 +63,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Run tests - uses: protocolbuffers/protobuf-ci/bazel-docker@v2 + uses: protocolbuffers/protobuf-ci/bazel-docker@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/test/linux/gcc:${{ matrix.version }}-6.3.0-63dd26c0c7a808d92673a3e52e848189d4ab0f17 credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -83,24 +83,24 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} submodules: recursive - name: Cross compile protoc for ${{ matrix.arch }} id: cross-compile - uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v2 + uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:6.3.0-91a0ac83e968068672bc6001a4d474cfd9a50f1d credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} architecture: linux-${{ matrix.arch }} - name: Setup sccache - uses: protocolbuffers/protobuf-ci/sccache@v2 + uses: protocolbuffers/protobuf-ci/sccache@v3 with: cache-prefix: linux-release-${{ matrix.arch }} credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} - name: Run tests - uses: protocolbuffers/protobuf-ci/docker@v2 + uses: protocolbuffers/protobuf-ci/docker@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/test/linux/emulation:${{ matrix.arch }}-63dd26c0c7a808d92673a3e52e848189d4ab0f17 credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -135,18 +135,18 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Setup sccache - uses: protocolbuffers/protobuf-ci/sccache@v2 + uses: protocolbuffers/protobuf-ci/sccache@v3 with: cache-prefix: linux-cmake credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} - name: Run tests - uses: protocolbuffers/protobuf-ci/docker@v2 + uses: protocolbuffers/protobuf-ci/docker@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/test/linux/cmake:3.13.3-63dd26c0c7a808d92673a3e52e848189d4ab0f17 credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -160,19 +160,19 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} submodules: recursive - name: Setup sccache - uses: protocolbuffers/protobuf-ci/sccache@v2 + uses: protocolbuffers/protobuf-ci/sccache@v3 with: cache-prefix: linux-cmake-install credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} - name: Run tests - uses: protocolbuffers/protobuf-ci/docker@v2 + uses: protocolbuffers/protobuf-ci/docker@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/test/linux/cmake:3.13.3-63dd26c0c7a808d92673a3e52e848189d4ab0f17 credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -193,18 +193,18 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Setup sccache - uses: protocolbuffers/protobuf-ci/sccache@v2 + uses: protocolbuffers/protobuf-ci/sccache@v3 with: cache-prefix: linux-cmake-examples credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} - name: Run tests - uses: protocolbuffers/protobuf-ci/docker@v2 + uses: protocolbuffers/protobuf-ci/docker@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/test/linux/cmake:3.13.3-63dd26c0c7a808d92673a3e52e848189d4ab0f17 credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -233,19 +233,19 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} submodules: recursive - name: Setup sccache - uses: protocolbuffers/protobuf-ci/sccache@v2 + uses: protocolbuffers/protobuf-ci/sccache@v3 with: cache-prefix: linux-cmake-gcc credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} - name: Run tests - uses: protocolbuffers/protobuf-ci/docker@v2 + uses: protocolbuffers/protobuf-ci/docker@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/test/linux/gcc:12.2-6.3.0-63dd26c0c7a808d92673a3e52e848189d4ab0f17 credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -264,19 +264,19 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} submodules: recursive - name: Setup sccache - uses: protocolbuffers/protobuf-ci/sccache@v2 + uses: protocolbuffers/protobuf-ci/sccache@v3 with: cache-prefix: linux-cmake-submodules credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} - name: Run tests - uses: protocolbuffers/protobuf-ci/docker@v2 + uses: protocolbuffers/protobuf-ci/docker@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/test/linux/cmake:3.13.3-63dd26c0c7a808d92673a3e52e848189d4ab0f17 credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -289,19 +289,19 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} submodules: recursive - name: Setup sccache - uses: protocolbuffers/protobuf-ci/sccache@v2 + uses: protocolbuffers/protobuf-ci/sccache@v3 with: cache-prefix: linux-cmake-32-bit credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} - name: Run tests - uses: protocolbuffers/protobuf-ci/docker@v2 + uses: protocolbuffers/protobuf-ci/docker@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/test/linux/32bit@sha256:8275360dc5d676f3470872d79087901c0e4153453976bea908a92c82e8d209ea platform: linux/386 @@ -348,11 +348,11 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Run tests - uses: protocolbuffers/protobuf-ci/bazel@v2 + uses: protocolbuffers/protobuf-ci/bazel@v3 with: credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} bazel: ${{ matrix.bazel }} @@ -414,7 +414,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} submodules: recursive @@ -438,7 +438,7 @@ jobs: shell: bash - name: Setup sccache - uses: protocolbuffers/protobuf-ci/sccache@v2 + uses: protocolbuffers/protobuf-ci/sccache@v3 with: cache-prefix: ${{ matrix.cache-prefix }} credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -446,7 +446,7 @@ jobs: # Install phase. - name: Configure CMake for install if: matrix.install-flags - uses: protocolbuffers/protobuf-ci/bash@v2 + uses: protocolbuffers/protobuf-ci/bash@v3 with: credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} command: cmake . ${{ matrix.install-flags }} ${{ env.SCCACHE_CMAKE_FLAGS }} -Dprotobuf_ALLOW_CCACHE=ON @@ -468,7 +468,7 @@ jobs: run: cmake --build . --target clean && rm CMakeCache.txt - name: Configure CMake - uses: protocolbuffers/protobuf-ci/bash@v2 + uses: protocolbuffers/protobuf-ci/bash@v3 with: credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} command: cmake . ${{ matrix.flags }} ${{ env.SCCACHE_CMAKE_FLAGS }} -Dprotobuf_ALLOW_CCACHE=ON diff --git a/.github/workflows/test_csharp.yml b/.github/workflows/test_csharp.yml index 26d974102a..f816f1f9bb 100644 --- a/.github/workflows/test_csharp.yml +++ b/.github/workflows/test_csharp.yml @@ -17,13 +17,13 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} # TODO Run this with Bazel once codegen is handled properly. - name: Run tests - uses: protocolbuffers/protobuf-ci/docker@v2 + uses: protocolbuffers/protobuf-ci/docker@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/test/linux/csharp:3.1.415-6.0.100-66964dc8b07b6d1fc73a5cc14e59e84c1c534cea credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -39,7 +39,7 @@ jobs: run: sudo rm -rf _build - name: Run conformance tests - uses: protocolbuffers/protobuf-ci/bazel-docker@v2 + uses: protocolbuffers/protobuf-ci/bazel-docker@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/test/linux/csharp:3.1.415-6.0.100-66964dc8b07b6d1fc73a5cc14e59e84c1c534cea credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -51,7 +51,7 @@ jobs: runs-on: windows-2019 steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} @@ -70,7 +70,7 @@ jobs: shell: bash - name: Run tests - uses: protocolbuffers/protobuf-ci/bash@v2 + uses: protocolbuffers/protobuf-ci/bash@v3 with: credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} command: | @@ -82,14 +82,14 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Build protobuf C# tests under x86_64 docker image # Tests are built "dotnet publish" because we want all the dependencies to the copied to the destination directory # (we want to avoid references to ~/.nuget that won't be available in the subsequent docker run) - uses: protocolbuffers/protobuf-ci/docker@v2 + uses: protocolbuffers/protobuf-ci/docker@v3 with: image: mcr.microsoft.com/dotnet/sdk:6.0.100-bullseye-slim credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -106,7 +106,7 @@ jobs: # running under current user's UID and GID. To be able to do that, we need to provide a home directory for the user # otherwise the UID would be homeless under the docker container and pip install wouldn't work. For simplicity, # we just run map the user's home to a throwaway temporary directory - uses: protocolbuffers/protobuf-ci/docker@v2 + uses: protocolbuffers/protobuf-ci/docker@v3 with: image: mcr.microsoft.com/dotnet/sdk:6.0.100-bullseye-slim-arm64v8 skip-staleness-check: true diff --git a/.github/workflows/test_java.yml b/.github/workflows/test_java.yml index 0c602f3818..a9abfacaec 100644 --- a/.github/workflows/test_java.yml +++ b/.github/workflows/test_java.yml @@ -40,11 +40,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Run tests - uses: protocolbuffers/protobuf-ci/bazel-docker@v2 + uses: protocolbuffers/protobuf-ci/bazel-docker@v3 with: image: ${{ matrix.image }} credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -57,11 +57,11 @@ jobs: # runs-on: ubuntu-latest # steps: # - name: Checkout pending changes - # uses: protocolbuffers/protobuf-ci/checkout@v2 + # uses: protocolbuffers/protobuf-ci/checkout@v3 # with: # ref: ${{ inputs.safe-checkout }} # - name: Run Linkage Monitor test - # uses: protocolbuffers/protobuf-ci/bazel-docker@v2 + # uses: protocolbuffers/protobuf-ci/bazel-docker@v3 # with: # image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:8-1fdbb997433cb22c1e49ef75ad374a8d6bb88702 # credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -75,12 +75,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Build protoc id: build-protoc - uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v2 + uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:6.3.0-91a0ac83e968068672bc6001a4d474cfd9a50f1d credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -94,7 +94,7 @@ jobs: mvn -e -B -Dhttps.protocols=TLSv1.2 install -Dmaven.test.skip=true working-directory: java - name: Generate pom.xml files from the template - uses: protocolbuffers/protobuf-ci/bazel-docker@v2 + uses: protocolbuffers/protobuf-ci/bazel-docker@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:11-1fdbb997433cb22c1e49ef75ad374a8d6bb88702 credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} diff --git a/.github/workflows/test_objectivec.yml b/.github/workflows/test_objectivec.yml index 185f596fd4..1db6c10c88 100644 --- a/.github/workflows/test_objectivec.yml +++ b/.github/workflows/test_objectivec.yml @@ -34,18 +34,18 @@ jobs: DEVELOPER_DIR: /Applications/Xcode_14.1.app/Contents/Developer steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Setup ccache - uses: protocolbuffers/protobuf-ci/ccache@v2 + uses: protocolbuffers/protobuf-ci/ccache@v3 with: cache-prefix: objectivec_${{ matrix.platform }}_${{ matrix.xc_config }} support-modules: true - name: Run tests - uses: protocolbuffers/protobuf-ci/bash@v2 + uses: protocolbuffers/protobuf-ci/bash@v3 env: CC: ${{ github.workspace }}/ci/clang_wrapper CXX: ${{ github.workspace }}/ci/clang_wrapper++ @@ -80,13 +80,13 @@ jobs: runs-on: ${{ matrix.OS }} steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Xcode version run: sudo xcode-select -switch /Applications/Xcode_${{ matrix.XCODE }}.app - name: Pod lib lint - uses: protocolbuffers/protobuf-ci/bazel@v2 + uses: protocolbuffers/protobuf-ci/bazel@v3 with: credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} bazel-cache: cocoapods/${{ matrix.XCODE }} @@ -125,11 +125,11 @@ jobs: runs-on: macos-12 steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: bazel ${{ matrix.config.bazel_action }} - uses: protocolbuffers/protobuf-ci/bazel@v2 + uses: protocolbuffers/protobuf-ci/bazel@v3 with: credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} bazel: ${{ matrix.config.bazel_action }} ${{ matrix.config.flags }} ${{ matrix.bazel_targets }} diff --git a/.github/workflows/test_php.yml b/.github/workflows/test_php.yml index 6909668759..86d24954b2 100644 --- a/.github/workflows/test_php.yml +++ b/.github/workflows/test_php.yml @@ -44,16 +44,16 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Setup composer - uses: protocolbuffers/protobuf-ci/composer-setup@v2 + uses: protocolbuffers/protobuf-ci/composer-setup@v3 with: cache-prefix: php-${{ matrix.version-short }} directory: php - name: Run tests - uses: protocolbuffers/protobuf-ci/docker@v2 + uses: protocolbuffers/protobuf-ci/docker@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/test/linux/php:${{ matrix.version }}-66964dc8b07b6d1fc73a5cc14e59e84c1c534cea credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -82,26 +82,26 @@ jobs: image: us-docker.pkg.dev/protobuf-build/containers/test/linux/32bit@sha256:836f2cedcfe351d9a30055076630408e61994fc7d783e8333a99570968990eeb steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Cross compile protoc for i386 id: cross-compile - uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v2 + uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:6.3.0-91a0ac83e968068672bc6001a4d474cfd9a50f1d credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} architecture: linux-i386 - name: Setup composer - uses: protocolbuffers/protobuf-ci/composer-setup@v2 + uses: protocolbuffers/protobuf-ci/composer-setup@v3 with: cache-prefix: php-${{ matrix.version }} directory: php - name: Run tests - uses: protocolbuffers/protobuf-ci/docker@v2 + uses: protocolbuffers/protobuf-ci/docker@v3 with: image: ${{ env.image }} platform: linux/386 @@ -119,26 +119,26 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Cross compile protoc for aarch64 id: cross-compile - uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v2 + uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:6.3.0-91a0ac83e968068672bc6001a4d474cfd9a50f1d credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} architecture: linux-aarch64 - name: Setup composer - uses: protocolbuffers/protobuf-ci/composer-setup@v2 + uses: protocolbuffers/protobuf-ci/composer-setup@v3 with: cache-prefix: php-8.1 directory: php - name: Run tests - uses: protocolbuffers/protobuf-ci/docker@v2 + uses: protocolbuffers/protobuf-ci/docker@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/test/linux/php-aarch64@sha256:77ff9fdec867bbfb290ee0b10d8b7a3e5e434155daa5ec93de7341c7592b858d platform: linux/arm64 @@ -161,7 +161,7 @@ jobs: runs-on: macos-12 steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} @@ -180,13 +180,13 @@ jobs: run: php --version | grep ${{ matrix.version }} || (echo "Invalid PHP version - $(php --version)" && exit 1) - name: Setup composer - uses: protocolbuffers/protobuf-ci/composer-setup@v2 + uses: protocolbuffers/protobuf-ci/composer-setup@v3 with: cache-prefix: php-${{ matrix.version }} directory: php - name: Run tests - uses: protocolbuffers/protobuf-ci/bash@v2 + uses: protocolbuffers/protobuf-ci/bash@v3 with: credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} command: | @@ -198,7 +198,7 @@ jobs: popd - name: Run conformance tests - uses: protocolbuffers/protobuf-ci/bazel@v2 + uses: protocolbuffers/protobuf-ci/bazel@v3 with: credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} bazel-cache: php_macos/${{ matrix.version }} diff --git a/.github/workflows/test_php_ext.yml b/.github/workflows/test_php_ext.yml index cae0241f72..dfe1951b11 100644 --- a/.github/workflows/test_php_ext.yml +++ b/.github/workflows/test_php_ext.yml @@ -17,12 +17,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Package extension - uses: protocolbuffers/protobuf-ci/bazel@v2 + uses: protocolbuffers/protobuf-ci/bazel@v3 with: credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} bazel-cache: php_ext/${{ matrix.version }} @@ -50,7 +50,7 @@ jobs: name: protobuf-php-release - name: Run tests - uses: protocolbuffers/protobuf-ci/docker@v2 + uses: protocolbuffers/protobuf-ci/docker@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/test/linux/php-extension:${{ matrix.version }}-a48f26c08d9a803dd0177dda63563f6ea6f7b2d4 credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} diff --git a/.github/workflows/test_python.yml b/.github/workflows/test_python.yml index a5dbe8f85b..b48da36aab 100644 --- a/.github/workflows/test_python.yml +++ b/.github/workflows/test_python.yml @@ -37,11 +37,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Run tests - uses: protocolbuffers/protobuf-ci/bazel-docker@v2 + uses: protocolbuffers/protobuf-ci/bazel-docker@v3 with: image: ${{ matrix.image || format('us-docker.pkg.dev/protobuf-build/containers/test/linux/python:{0}-63dd26c0c7a808d92673a3e52e848189d4ab0f17', matrix.version) }} credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -68,7 +68,7 @@ jobs: runs-on: macos-12 steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} @@ -88,7 +88,7 @@ jobs: source venv/bin/activate - name: Run tests - uses: protocolbuffers/protobuf-ci/bazel@v2 + uses: protocolbuffers/protobuf-ci/bazel@v3 env: KOKORO_PYTHON_VERSION: ${{ matrix.version }} with: diff --git a/.github/workflows/test_ruby.yml b/.github/workflows/test_ruby.yml index b858bbfcda..38cb5ef5b2 100644 --- a/.github/workflows/test_ruby.yml +++ b/.github/workflows/test_ruby.yml @@ -34,11 +34,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Run tests - uses: protocolbuffers/protobuf-ci/bazel-docker@v2 + uses: protocolbuffers/protobuf-ci/bazel-docker@v3 with: image: ${{ matrix.image || format('us-docker.pkg.dev/protobuf-build/containers/test/linux/ruby:{0}-6.3.0-a6940b1421a71325ef4c7828ec72d404f56bbf30', matrix.ruby) }} credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -50,20 +50,20 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Cross compile protoc for i386 id: cross-compile - uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v2 + uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:6.3.0-91a0ac83e968068672bc6001a4d474cfd9a50f1d credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} architecture: linux-i386 - name: Run tests - uses: protocolbuffers/protobuf-ci/docker@v2 + uses: protocolbuffers/protobuf-ci/docker@v3 with: image: i386/ruby:3.0.2-buster credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -81,20 +81,20 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Cross compile protoc for aarch64 id: cross-compile - uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v2 + uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:6.3.0-91a0ac83e968068672bc6001a4d474cfd9a50f1d credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} architecture: linux-aarch64 - name: Run tests - uses: protocolbuffers/protobuf-ci/docker@v2 + uses: protocolbuffers/protobuf-ci/docker@v3 with: image: arm64v8/ruby:3.0.2-buster credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -128,7 +128,7 @@ jobs: runs-on: macos-12 steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} @@ -141,7 +141,7 @@ jobs: run: ruby --version | grep ${{ matrix.version }} || (echo "Invalid Ruby version - $(ruby --version)" && exit 1) - name: Run tests - uses: protocolbuffers/protobuf-ci/bazel@v2 + uses: protocolbuffers/protobuf-ci/bazel@v3 with: credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} bazel-cache: ruby_macos/${{ matrix.version }} @@ -166,11 +166,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Run tests - uses: protocolbuffers/protobuf-ci/bazel-docker@v2 + uses: protocolbuffers/protobuf-ci/bazel-docker@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/test/linux/ruby:${{ matrix.ruby }}-6.3.0-a6940b1421a71325ef4c7828ec72d404f56bbf30 credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} diff --git a/.github/workflows/test_runner.yml b/.github/workflows/test_runner.yml index 0d4232bf5c..d67f45593b 100644 --- a/.github/workflows/test_runner.yml +++ b/.github/workflows/test_runner.yml @@ -105,6 +105,14 @@ jobs: # Note: this pattern of passing the head sha is vulnerable to PWN requests for # pull_request_target events. We carefully limit those workflows to require a # human stamp before continuing. + bazel: + name: Bazel + needs: [check-tag] + uses: ./.github/workflows/test_bazel.yml + with: + safe-checkout: ${{ needs.check-tag.outputs.checkout-sha }} + secrets: inherit + cpp: name: C++ needs: [check-tag] diff --git a/.github/workflows/test_rust.yml b/.github/workflows/test_rust.yml index 6018eec953..cab8c4d874 100644 --- a/.github/workflows/test_rust.yml +++ b/.github/workflows/test_rust.yml @@ -17,11 +17,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Run tests - uses: protocolbuffers/protobuf-ci/bazel-docker@v2 + uses: protocolbuffers/protobuf-ci/bazel-docker@v3 with: image: "us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:7.1.1-75f2a85ece6526cc3d54087018c0f1097d78d42b" credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} diff --git a/.github/workflows/test_upb.yml b/.github/workflows/test_upb.yml index 6f9f25c6a9..e0e0d4d128 100644 --- a/.github/workflows/test_upb.yml +++ b/.github/workflows/test_upb.yml @@ -31,11 +31,11 @@ jobs: steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Run tests - uses: protocolbuffers/protobuf-ci/bazel-docker@v2 + uses: protocolbuffers/protobuf-ci/bazel-docker@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/test/linux/sanitize:${{ matrix.config.bazel_version || '6.3.0' }}-75f2a85ece6526cc3d54087018c0f1097d78d42b credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -50,11 +50,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Run tests - uses: protocolbuffers/protobuf-ci/bazel-docker@v2 + uses: protocolbuffers/protobuf-ci/bazel-docker@v3 with: image: "us-docker.pkg.dev/protobuf-build/containers/test/linux/gcc:12.2-6.3.0-63dd26c0c7a808d92673a3e52e848189d4ab0f17" credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -68,7 +68,7 @@ jobs: runs-on: windows-2022 steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - uses: actions/setup-python@61a6322f88396a6271a6ee3565807d608ecaddd1 # v4.7.0 @@ -76,7 +76,7 @@ jobs: cache: pip cache-dependency-path: 'python/requirements.txt' - name: Run tests - uses: protocolbuffers/protobuf-ci/bazel@v2 + uses: protocolbuffers/protobuf-ci/bazel@v3 with: credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} bazel-cache: "upb-bazel-windows" @@ -95,7 +95,7 @@ jobs: runs-on: macos-12 steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - uses: actions/setup-python@61a6322f88396a6271a6ee3565807d608ecaddd1 # v4.7.0 @@ -103,7 +103,7 @@ jobs: cache: pip cache-dependency-path: 'python/requirements.txt' - name: Run tests - uses: protocolbuffers/protobuf-ci/bazel@v2 + uses: protocolbuffers/protobuf-ci/bazel@v3 with: credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} bazel-cache: "upb-bazel-macos" @@ -117,11 +117,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Run tests - uses: protocolbuffers/protobuf-ci/bazel-docker@v2 + uses: protocolbuffers/protobuf-ci/bazel-docker@v3 with: image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:6.3.0-91a0ac83e968068672bc6001a4d474cfd9a50f1d credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} @@ -138,11 +138,11 @@ jobs: if: ${{ github.event_name != 'pull_request_target' }} steps: - name: Checkout pending changes - uses: protocolbuffers/protobuf-ci/checkout@v2 + uses: protocolbuffers/protobuf-ci/checkout@v3 with: ref: ${{ inputs.safe-checkout }} - name: Build Wheels - uses: protocolbuffers/protobuf-ci/bazel-docker@v2 + uses: protocolbuffers/protobuf-ci/bazel-docker@v3 with: image: us-docker.pkg.dev/protobuf-build/release-containers/linux/apple@sha256:b3dc9b75d8e599b0e95ed245d89f44b5a4231112f975da89dd02006a484a58df credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} diff --git a/examples/.bazelrc b/examples/.bazelrc index 554440cfe3..f37d75bc21 100644 --- a/examples/.bazelrc +++ b/examples/.bazelrc @@ -1 +1,9 @@ -build --cxxopt=-std=c++14 --host_cxxopt=-std=c++14 +common --enable_platform_specific_config + +build:linux --cxxopt=-std=c++14 --host_cxxopt=-std=c++14 +build:macos --cxxopt=-std=c++14 --host_cxxopt=-std=c++14 + +common:windows --enable_runfiles + +build --experimental_remote_cache_eviction_retries=5 +build --remote_download_outputs=all