From 242e2cb09ad5b25b047a862b4d521037e74cae29 Mon Sep 17 00:00:00 2001 From: Brent Shaffer Date: Mon, 26 Aug 2024 09:47:56 -0700 Subject: [PATCH] feat(docs): use doctum shared workflow for reference docs (#2618) --- .github/actions/docs/entrypoint.sh | 21 -------------- .github/actions/docs/sami.php | 29 ------------------- .github/workflows/docs.yml | 45 +++++++++++++----------------- README.md | 2 +- src/Client.php | 3 +- tests/Google/ClientTest.php | 6 ++-- 6 files changed, 27 insertions(+), 79 deletions(-) delete mode 100755 .github/actions/docs/entrypoint.sh delete mode 100644 .github/actions/docs/sami.php diff --git a/.github/actions/docs/entrypoint.sh b/.github/actions/docs/entrypoint.sh deleted file mode 100755 index 7ac74e427..000000000 --- a/.github/actions/docs/entrypoint.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -l - -set -e - -apt-get update -apt-get install -y git wget - -# Fix github "detected dubious ownership" error -git config --global --add safe.directory /github/workspace - -git reset --hard HEAD - -# Create the directories -mkdir .docs -mkdir .cache - -wget https://github.com/jdpedrie/Sami/releases/download/v4.3.0/sami.phar - -# Run the docs generation command -php sami.phar update .github/actions/docs/sami.php -chmod -R 0777 . diff --git a/.github/actions/docs/sami.php b/.github/actions/docs/sami.php deleted file mode 100644 index b3d3da8f7..000000000 --- a/.github/actions/docs/sami.php +++ /dev/null @@ -1,29 +0,0 @@ -files() - ->name('*.php') - ->exclude('vendor') - ->exclude('tests') - ->in($projectRoot); - -$versions = GitVersionCollection::create($projectRoot) - ->addFromTags(function($tag) { - return 0 === strpos($tag, 'v2.') && false === strpos($tag, 'RC'); - }) - ->add('main', 'main branch'); - -return new Sami($iterator, [ - 'title' => 'Google APIs Client Library for PHP API Reference', - 'build_dir' => $projectRoot . '/.docs/%version%', - 'cache_dir' => $projectRoot . '/.cache/%version%', - 'remote_repository' => new GitHubRemoteRepository('googleapis/google-api-php-client', $projectRoot), - 'versions' => $versions -]); diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index ae9bf2ed0..b9de0cfb9 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,31 +1,26 @@ name: Generate Documentation on: push: - branches: [main] + tags: + - "*" + workflow_dispatch: + inputs: + tag: + description: 'Tag to generate documentation for' + required: false + pull_request: + +permissions: + contents: write jobs: docs: - name: "Generate Project Documentation" - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - run: git fetch --depth=1 origin +refs/tags/*:refs/tags/* - - name: Install Dependencies - uses: nick-invision/retry@v1 - with: - timeout_minutes: 10 - max_attempts: 3 - command: composer install - - name: Generate and Push Documentation - uses: docker://php:8.1-cli - env: - GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} - with: - entrypoint: ./.github/actions/docs/entrypoint.sh - - name: Deploy 🚀 - uses: JamesIves/github-pages-deploy-action@releases/v3 - with: - ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }} - BRANCH: gh-pages - FOLDER: .docs + name: "Generate and Deploy Documentation" + uses: GoogleCloudPlatform/php-tools/.github/workflows/doctum.yml@main + with: + title: "Google Cloud PHP Client" + default_version: ${{ inputs.tag || github.ref_name }} + exclude_file: aliases.php + tag_pattern: "v2.*" + dry_run: ${{ github.event_name == 'pull_request' }} + diff --git a/README.md b/README.md index 95150d9f1..93b52cacb 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ list of [Google cloud packages](https://cloud.google.com/php/docs/reference) fir these are the recommended libraries.
-
Reference Docs
https://googleapis.github.io/google-api-php-client/main/
+
Reference Docs
https://googleapis.github.io/google-api-php-client/
License
Apache 2.0
diff --git a/src/Client.php b/src/Client.php index 330e8ac6b..1285c49a7 100644 --- a/src/Client.php +++ b/src/Client.php @@ -1043,7 +1043,8 @@ public function setAuthConfig($config) $key = isset($config['installed']) ? 'installed' : 'web'; if (isset($config['type']) && $config['type'] == 'service_account') { - // application default credentials + // @TODO(v3): Remove this, as it isn't accurate. ADC applies only to determining + // credentials based on the user's environment. $this->useApplicationDefaultCredentials(); // set the information from the config diff --git a/tests/Google/ClientTest.php b/tests/Google/ClientTest.php index 7aea7e9ef..4e53e34b4 100644 --- a/tests/Google/ClientTest.php +++ b/tests/Google/ClientTest.php @@ -714,8 +714,10 @@ public function testOnGceCacheAndCacheOptions() $mockCache->getItem($prefix . GCECache::GCE_CACHE_KEY) ->shouldBeCalledTimes(1) ->willReturn($mockCacheItem->reveal()); - $mockCache->getItem(GCECredentials::cacheKey . 'universe_domain') - ->shouldBeCalledTimes(1) + // cache key from GCECredentials::getTokenUri() . 'universe_domain' + $mockCache->getItem('cc685e3a0717258b6a4cefcb020e96de6bcf904e76fd9fc1647669f42deff9bf') // google/auth < 1.41.0 + ->willReturn($mockUniverseDomainCacheItem->reveal()); + $mockCache->getItem(GCECredentials::cacheKey . 'universe_domain') // google/auth >= 1.41.0 ->willReturn($mockUniverseDomainCacheItem->reveal()); $client = new Client(['cache_config' => $cacheConfig]);