Skip to content

Commit

Permalink
feat: introduce CloudBuild V2
Browse files Browse the repository at this point in the history
  • Loading branch information
bshaffer committed Mar 3, 2023
1 parent 800cb34 commit 4dccf19
Show file tree
Hide file tree
Showing 147 changed files with 16,783 additions and 856 deletions.
Binary file modified Build/metadata/V1/Cloudbuild.php
Binary file not shown.
53 changes: 53 additions & 0 deletions Build/metadata/V2/Cloudbuild.php

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added Build/metadata/V2/Repositories.php
Binary file not shown.
83 changes: 83 additions & 0 deletions Build/samples/V1/CloudBuildClient/approve_build.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
<?php
/*
* Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/*
* GENERATED CODE WARNING
* This file was automatically generated - do not edit!
*/

require_once __DIR__ . '/../../../vendor/autoload.php';

// [START cloudbuild_v1_generated_CloudBuild_ApproveBuild_sync]
use Google\ApiCore\ApiException;
use Google\ApiCore\OperationResponse;
use Google\Cloud\Build\V1\Build;
use Google\Cloud\Build\V1\CloudBuildClient;
use Google\Rpc\Status;

/**
* Approves or rejects a pending build.
*
* If approved, the returned LRO will be analogous to the LRO returned from
* a CreateBuild call.
*
* If rejected, the returned LRO will be immediately done.
*
* @param string $name Name of the target build.
* For example: "projects/{$project_id}/builds/{$build_id}"
*/
function approve_build_sample(string $name): void
{
// Create a client.
$cloudBuildClient = new CloudBuildClient();

// Call the API and handle any network failures.
try {
/** @var OperationResponse $response */
$response = $cloudBuildClient->approveBuild($name);
$response->pollUntilComplete();

if ($response->operationSucceeded()) {
/** @var Build $result */
$result = $response->getResult();
printf('Operation successful with response data: %s' . PHP_EOL, $result->serializeToJsonString());
} else {
/** @var Status $error */
$error = $response->getError();
printf('Operation failed with error data: %s' . PHP_EOL, $error->serializeToJsonString());
}
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}

/**
* Helper to execute the sample.
*
* This sample has been automatically generated and should be regarded as a code
* template only. It will require modifications to work:
* - It may require correct/in-range values for request initialization.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function callSample(): void
{
$name = '[NAME]';

approve_build_sample($name);
}
// [END cloudbuild_v1_generated_CloudBuild_ApproveBuild_sync]
67 changes: 67 additions & 0 deletions Build/samples/V1/CloudBuildClient/cancel_build.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<?php
/*
* Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/*
* GENERATED CODE WARNING
* This file was automatically generated - do not edit!
*/

require_once __DIR__ . '/../../../vendor/autoload.php';

// [START cloudbuild_v1_generated_CloudBuild_CancelBuild_sync]
use Google\ApiCore\ApiException;
use Google\Cloud\Build\V1\Build;
use Google\Cloud\Build\V1\CloudBuildClient;

/**
* Cancels a build in progress.
*
* @param string $projectId ID of the project.
* @param string $id ID of the build.
*/
function cancel_build_sample(string $projectId, string $id): void
{
// Create a client.
$cloudBuildClient = new CloudBuildClient();

// Call the API and handle any network failures.
try {
/** @var Build $response */
$response = $cloudBuildClient->cancelBuild($projectId, $id);
printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}

/**
* Helper to execute the sample.
*
* This sample has been automatically generated and should be regarded as a code
* template only. It will require modifications to work:
* - It may require correct/in-range values for request initialization.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function callSample(): void
{
$projectId = '[PROJECT_ID]';
$id = '[ID]';

cancel_build_sample($projectId, $id);
}
// [END cloudbuild_v1_generated_CloudBuild_CancelBuild_sync]
84 changes: 84 additions & 0 deletions Build/samples/V1/CloudBuildClient/create_build.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
<?php
/*
* Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/*
* GENERATED CODE WARNING
* This file was automatically generated - do not edit!
*/

require_once __DIR__ . '/../../../vendor/autoload.php';

// [START cloudbuild_v1_generated_CloudBuild_CreateBuild_sync]
use Google\ApiCore\ApiException;
use Google\ApiCore\OperationResponse;
use Google\Cloud\Build\V1\Build;
use Google\Cloud\Build\V1\CloudBuildClient;
use Google\Rpc\Status;

/**
* Starts a build with the specified configuration.
*
* This method returns a long-running `Operation`, which includes the build
* ID. Pass the build ID to `GetBuild` to determine the build status (such as
* `SUCCESS` or `FAILURE`).
*
* @param string $projectId ID of the project.
*/
function create_build_sample(string $projectId): void
{
// Create a client.
$cloudBuildClient = new CloudBuildClient();

// Prepare any non-scalar elements to be passed along with the request.
$build = new Build();

// Call the API and handle any network failures.
try {
/** @var OperationResponse $response */
$response = $cloudBuildClient->createBuild($projectId, $build);
$response->pollUntilComplete();

if ($response->operationSucceeded()) {
/** @var Build $result */
$result = $response->getResult();
printf('Operation successful with response data: %s' . PHP_EOL, $result->serializeToJsonString());
} else {
/** @var Status $error */
$error = $response->getError();
printf('Operation failed with error data: %s' . PHP_EOL, $error->serializeToJsonString());
}
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}

/**
* Helper to execute the sample.
*
* This sample has been automatically generated and should be regarded as a code
* template only. It will require modifications to work:
* - It may require correct/in-range values for request initialization.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function callSample(): void
{
$projectId = '[PROJECT_ID]';

create_build_sample($projectId);
}
// [END cloudbuild_v1_generated_CloudBuild_CreateBuild_sync]
70 changes: 70 additions & 0 deletions Build/samples/V1/CloudBuildClient/create_build_trigger.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
<?php
/*
* Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/*
* GENERATED CODE WARNING
* This file was automatically generated - do not edit!
*/

require_once __DIR__ . '/../../../vendor/autoload.php';

// [START cloudbuild_v1_generated_CloudBuild_CreateBuildTrigger_sync]
use Google\ApiCore\ApiException;
use Google\Cloud\Build\V1\BuildTrigger;
use Google\Cloud\Build\V1\CloudBuildClient;

/**
* Creates a new `BuildTrigger`.
*
* This API is experimental.
*
* @param string $projectId ID of the project for which to configure automatic builds.
*/
function create_build_trigger_sample(string $projectId): void
{
// Create a client.
$cloudBuildClient = new CloudBuildClient();

// Prepare any non-scalar elements to be passed along with the request.
$trigger = new BuildTrigger();

// Call the API and handle any network failures.
try {
/** @var BuildTrigger $response */
$response = $cloudBuildClient->createBuildTrigger($projectId, $trigger);
printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}

/**
* Helper to execute the sample.
*
* This sample has been automatically generated and should be regarded as a code
* template only. It will require modifications to work:
* - It may require correct/in-range values for request initialization.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function callSample(): void
{
$projectId = '[PROJECT_ID]';

create_build_trigger_sample($projectId);
}
// [END cloudbuild_v1_generated_CloudBuild_CreateBuildTrigger_sync]
Loading

0 comments on commit 4dccf19

Please sign in to comment.