<!--
Thank you for proposing a pull request! Please note that SOME TESTS WILL
LIKELY FAIL due to how GitHub exposes secrets in Pull Requests from
forks.
Someone from the team will review your Pull Request and respond.
Please describe your change and any implementation details below.
-->
Small change! This error message seems like it's missing a word, so
based on the comment on line 202, I changed it
from
> `⚠️ Failed to a project ID from the given inputs.`
to
> `⚠️ Failed to compute a project ID from the given inputs`
The retries make debugging strictly more complex, and it's not clear
that retrying provides actual value. If we need retries in the future,
we should push them down into the per-API level.
This adds a new authentication mode, Direct Workload Identity
Federation. This new mode permits authenticating to Google Cloud
directly using the GitHub Actions OIDC token instead of proxying through
a Google Cloud Service Account.
<!--
Thank you for proposing a pull request! Please note that SOME TESTS WILL
LIKELY FAIL due to how GitHub exposes secrets in Pull Requests from
forks.
Someone from the team will review your Pull Request and respond.
Please describe your change and any implementation details below.
-->
This allows users to opt-out of exporting environment variables. This might be helpful if they **don't** want future steps to be authenticated, or if the exported environment variables conflict with other values.
There have been a number of GitHub issues recently due to users not adding actions/checkout before calling "auth", which makes the credentials unavailable to future steps. Worse, some people are putting checkout _after_ auth, which overwrites the generated credentials with a checkout of the repo.
This adds a feature that emits a warning with the workspace is empty.
* define common interfaces
* common base client
* refactor WIF to use interfaces and base client
* refactor main
* add build in CI
* add name for build step
* address comments
* fix import
* interface for credfile return
* regen dist
* Support id token generation
* Fix id_token_audience validation
* Add id_token_audience to test workflow
* Generate dist/index.js for id token support