Use composer action for dependency caching.

This will reduce the flakes we've seen in PHP tests.

PiperOrigin-RevId: 534226922
pull/12883/head
Mike Kruskal 2 years ago committed by Copybara-Service
parent 03c49f355d
commit 9657172749
  1. 45
      .github/workflows/test_php.yml

@ -15,23 +15,29 @@ jobs:
matrix: matrix:
include: include:
- name: 7.3 Debug - name: 7.3 Debug
version-short: "7.3"
version: 7.3.28-dbg version: 7.3.28-dbg
command: composer test \&\& composer test_c command: composer test \&\& composer test_c
- name: 7.4 Debug - name: 7.4 Debug
version-short: "7.4"
version: 7.4.18-dbg version: 7.4.18-dbg
command: composer test \&\& composer test_c command: composer test \&\& composer test_c
- name: 8.0 Optimized - name: 8.0 Optimized
version: 8.0.5 version: "8.0.5"
version-short: "8.0"
command: composer test \&\& composer test_c command: composer test \&\& composer test_c
- name: 8.0 Debug - name: 8.0 Debug
version: 8.0.5-dbg version: 8.0.5-dbg
version-short: "8.0"
command: composer test \&\& composer test_c command: composer test \&\& composer test_c
- name: 8.0 Memory Leak - name: 8.0 Memory Leak
version: 8.0.5-dbg version: 8.0.5-dbg
version-short: "8.0"
# Run specialized memory leak & multirequest tests. # Run specialized memory leak & multirequest tests.
command: composer test_c \&\& tests/multirequest.sh \&\& tests/memory_leak_test.sh command: composer test_c \&\& tests/multirequest.sh \&\& tests/memory_leak_test.sh
- name: 8.0 Valgrind - name: 8.0 Valgrind
version: 8.0.5-dbg version: 8.0.5-dbg
version-short: "8.0"
command: composer test_valgrind command: composer test_valgrind
name: Linux ${{ matrix.name}} name: Linux ${{ matrix.name}}
@ -41,8 +47,12 @@ jobs:
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
with: with:
ref: ${{ inputs.safe-checkout }} ref: ${{ inputs.safe-checkout }}
- name: Update submodules submodules: recursive
run: git submodule update --init --remote --recursive - name: Setup composer
uses: protocolbuffers/protobuf-ci/composer-setup@v1
with:
cache-prefix: php-${{ matrix.version-short }}
directory: php
- name: Run tests - name: Run tests
uses: protocolbuffers/protobuf-ci/docker@v1 uses: protocolbuffers/protobuf-ci/docker@v1
with: with:
@ -75,9 +85,7 @@ jobs:
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
with: with:
ref: ${{ inputs.safe-checkout }} ref: ${{ inputs.safe-checkout }}
submodules: recursive
- name: Update submodules
run: git submodule update --init --remote --recursive
- name: Cross compile protoc for i386 - name: Cross compile protoc for i386
id: cross-compile id: cross-compile
@ -87,6 +95,12 @@ jobs:
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
architecture: linux-i386 architecture: linux-i386
- name: Setup composer
uses: protocolbuffers/protobuf-ci/composer-setup@v1
with:
cache-prefix: php-${{ matrix.version }}
directory: php
- name: Run tests - name: Run tests
uses: protocolbuffers/protobuf-ci/docker@v1 uses: protocolbuffers/protobuf-ci/docker@v1
with: with:
@ -119,6 +133,12 @@ jobs:
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
architecture: linux-aarch64 architecture: linux-aarch64
- name: Setup composer
uses: protocolbuffers/protobuf-ci/composer-setup@v1
with:
cache-prefix: php-7.3
directory: php
- name: Run tests - name: Run tests
uses: protocolbuffers/protobuf-ci/docker@v1 uses: protocolbuffers/protobuf-ci/docker@v1
with: with:
@ -148,11 +168,7 @@ jobs:
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
with: with:
ref: ${{ inputs.safe-checkout }} ref: ${{ inputs.safe-checkout }}
submodules: recursive
# Initialize/update the submodule from remote to validate a new fetch based on .gitmodules
# We have to do this separately since actions/checkout doesn't support the "--remote" flag
- name: Update submodules
run: git submodule update --init --remote --recursive
- name: Uninstall problematic libgd - name: Uninstall problematic libgd
run: brew uninstall --ignore-dependencies gd run: brew uninstall --ignore-dependencies gd
@ -168,6 +184,12 @@ jobs:
- name: Check PHP version - name: Check PHP version
run: php --version | grep ${{ matrix.version }} || (echo "Invalid PHP version - $(php --version)" && exit 1) run: php --version | grep ${{ matrix.version }} || (echo "Invalid PHP version - $(php --version)" && exit 1)
- name: Setup composer
uses: protocolbuffers/protobuf-ci/composer-setup@v1
with:
cache-prefix: php-${{ matrix.version }}
directory: php
- name: Run tests - name: Run tests
uses: protocolbuffers/protobuf-ci/bazel@v1 uses: protocolbuffers/protobuf-ci/bazel@v1
with: with:
@ -175,7 +197,6 @@ jobs:
bazel-cache: php_macos/${{ matrix.version }} bazel-cache: php_macos/${{ matrix.version }}
bash: | bash: |
pushd php pushd php
rm -rf vendor
php -v php -v
php -m php -m
composer update composer update

Loading…
Cancel
Save