-
-
Notifications
You must be signed in to change notification settings - Fork 523
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(publisher-gcs): add Google Cloud Storage publisher #2100
Conversation
Codecov Report
@@ Coverage Diff @@
## master #2100 +/- ##
=======================================
Coverage 72.71% 72.71%
=======================================
Files 74 74
Lines 2221 2221
Branches 420 420
=======================================
Hits 1615 1615
Misses 446 446
Partials 160 160 Continue to review full report at Codecov.
|
Hi @malept could you please review this PR. |
@malept 😢 |
Hi @malept when my PR may be accepted? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A review was required.
@erickzhao What about Google Cloud Storage publisher? I really need it for my workflow |
@MarshallOfSound @erickzhao @BlackHole1 I've decided to rebase on top of current main and squash to single commit. |
Should I rebase PR again? |
packages/publisher/gcs/src/Config.ts
Outdated
keyFilename?: string; | ||
/** | ||
* The Google Cloud project ID. | ||
* | ||
* Defaults to the value in the `GOOGLE_CLOUD_PROJECT` environment variable. | ||
* */ | ||
projectId?: string; | ||
/** | ||
* The email for your Google service account, *required* when using a PEM/PKCS #12-formatted | ||
* file in the [[keyFilename]] option. | ||
* | ||
* Defaults to the value in the `GOOGLE_CLOUD_CLIENT_EMAIL` environment variable. | ||
*/ | ||
clientEmail?: string; | ||
/** | ||
* The private key for your Google service account. | ||
* | ||
* Defaults to the value in the `GOOGLE_CLOUD_PRIVATE_KEY` environment variable. | ||
*/ | ||
privateKey?: string; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
comment: For these auth-related options, can we put them in a separate auth
object?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the previous comment in this chain is still a valid concern. It might be cleaner to put all auth-related private key config options under an auth
property.
@erickzhao I was able to rebase PR on top of current main by fighting the dependency hell... I make GCS publisher looks like S3 publisher and ported changes from it. Could you please help me to ship GCS publisher before main have many new changes? |
Useful feature for me also. |
@erickzhao could I ask for a review of this PR? |
@erickzhao I've rebase PR on top of current changes. Could you please tell me what should I do to have this PR merged? |
I'm using this publisher for a years, published by my package name. Could we make this PR merged? |
@MarshallOfSound @erickzhao I need this publisher in the application. What can I do to get the PR accepted? |
Hi @mahnunchik . I saw @erickzhao commented on some issues. If they have been resolved, you can click the “Resolve conversation” button. If you have any questions regarding the issues, you can comment below. This will help other maintainers with the code review. |
@BlackHole1 @erickzhao All open conversations was commented by me. GCS publisher is based on S3 publisher, I think both should be close as possible. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left two minor comments. Also, our policy is generally to only let maintainers commit lockfile changes. Can you also revert yarn.lock
here @mahnunchik?
packages/publisher/gcs/src/Config.ts
Outdated
keyFilename?: string; | ||
/** | ||
* The Google Cloud project ID. | ||
* | ||
* Defaults to the value in the `GOOGLE_CLOUD_PROJECT` environment variable. | ||
* */ | ||
projectId?: string; | ||
/** | ||
* The email for your Google service account, *required* when using a PEM/PKCS #12-formatted | ||
* file in the [[keyFilename]] option. | ||
* | ||
* Defaults to the value in the `GOOGLE_CLOUD_CLIENT_EMAIL` environment variable. | ||
*/ | ||
clientEmail?: string; | ||
/** | ||
* The private key for your Google service account. | ||
* | ||
* Defaults to the value in the `GOOGLE_CLOUD_PRIVATE_KEY` environment variable. | ||
*/ | ||
privateKey?: string; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the previous comment in this chain is still a valid concern. It might be cleaner to put all auth-related private key config options under an auth
property.
Here are the tweaks I propose: all the auth-related This way we aren't limiting ourselves to a subset of the credential options available via the |
Gcs auth fixes
@erickzhao Thank you for your help! Implementation has become much simpler and clearer. Should I close conversations above? I think everything is fixed now. |
This should be a transient dep via `@google-cloud/storage`
I think everything is fixed! We're planning on releasing a new Forge version within the next week, so hopefully this can make its way in. |
Rebased after the 7.0.0 breaking change release. Once CI is green, going to merge this and get it into a 7.1.0 release before the end of the month. |
Continue of #1752