Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into issue-1788
Browse files Browse the repository at this point in the history
  • Loading branch information
danepowell committed Sep 9, 2024
2 parents f9a2fcd + 04b8ee7 commit 11c8a50
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 52 deletions.
78 changes: 39 additions & 39 deletions composer.lock

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

3 changes: 2 additions & 1 deletion src/Command/CommandBase.php
Original file line number Diff line number Diff line change
Expand Up @@ -878,12 +878,13 @@ protected function determineCloudApplication(bool $promptLinkApp = false): ?stri
throw new AcquiaCliException("Could not determine Cloud Application. Run this command interactively or use `acli link` to link a Cloud Application before running non-interactively.");
}

$application = $this->getCloudApplication($applicationUuid);
// No point in trying to link a directory that's not a repo.
if (!empty($this->projectDir) && !$this->getCloudUuidFromDatastore()) {
if ($promptLinkApp) {
$application = $this->getCloudApplication($applicationUuid);
$this->saveCloudUuidToDatastore($application);
} elseif (!AcquiaDrupalEnvironmentDetector::isAhIdeEnv() && !$this->getCloudApplicationUuidFromBltYaml()) {
$application = $this->getCloudApplication($applicationUuid);
$this->promptLinkApplication($application);
}
}
Expand Down
9 changes: 4 additions & 5 deletions src/Command/Push/PushArtifactCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ protected function configure(): void
->addOption('no-push', null, InputOption::VALUE_NONE, 'Do not push changes to Acquia Cloud')
->addOption('no-commit', null, InputOption::VALUE_NONE, 'Do not commit changes. Implies no-push')
->addOption('no-clone', null, InputOption::VALUE_NONE, 'Do not clone repository. Implies no-commit and no-push')
->addOption('destination-git-urls', 'u', InputOption::VALUE_IS_ARRAY | InputOption::VALUE_REQUIRED, 'The URL(s) of your git repository to which the artifact branch will be pushed')
->addOption('destination-git-urls', 'u', InputOption::VALUE_IS_ARRAY | InputOption::VALUE_REQUIRED, 'The URL of your git repository to which the artifact branch will be pushed. Use multiple times for multiple URLs.')
->addOption('destination-git-branch', 'b', InputOption::VALUE_REQUIRED, 'The destination branch to push the artifact to')
->addOption('destination-git-tag', 't', InputOption::VALUE_REQUIRED, 'The destination tag to push the artifact to. Using this option requires also using the --source-git-tag option')
->addOption('source-git-tag', 's', InputOption::VALUE_REQUIRED, 'The source tag from which to create the tag artifact')
Expand All @@ -60,7 +60,6 @@ protected function configure(): void
. 'To run additional build or sanitization steps (e.g. <options=bold>npm install</>), add a <options=bold>post-install-cmd</> script to your <options=bold>composer.json</> file: https://getcomposer.org/doc/articles/scripts.md#command-events')
->addUsage('--destination-git-branch=main-build')
->addUsage('--source-git-tag=foo-build --destination-git-tag=1.0.0')
->addUsage('[email protected]:example.git --destination-git-branch=main-build')
->addUsage('[email protected]:example.git [email protected]:example.git --destination-git-branch=main-build');
}

Expand Down Expand Up @@ -95,8 +94,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
$destinationGitUrls = [];
$destinationGitRef = '';
if (!$input->getOption('no-clone')) {
$applicationUuid = $this->determineCloudApplication();
$destinationGitUrls = $this->determineDestinationGitUrls($applicationUuid);
$destinationGitUrls = $this->determineDestinationGitUrls();
$destinationGitRef = $this->determineDestinationGitRef();
$sourceGitBranch = $this->determineSourceGitRef();
$destinationGitUrlsString = implode(',', $destinationGitUrls);
Expand Down Expand Up @@ -153,7 +151,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
/**
* @return string[]
*/
private function determineDestinationGitUrls(?string $applicationUuid): array
private function determineDestinationGitUrls(): array
{
if ($this->input->getOption('destination-git-urls')) {
return $this->input->getOption('destination-git-urls');
Expand All @@ -165,6 +163,7 @@ private function determineDestinationGitUrls(?string $applicationUuid): array
return $this->datastoreAcli->get('push.artifact.destination_git_urls');
}

$applicationUuid = $this->determineCloudApplication();
return [$this->getAnyVcsUrl($applicationUuid)];
}

Expand Down
1 change: 0 additions & 1 deletion tests/phpunit/src/Commands/CommandBaseTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ public function testUnauthenticatedFailure(): void
public function testCloudAppFromLocalConfig(): void
{
$this->command = $this->injectCommand(IdeListCommand::class);
$this->mockRequest('getApplicationByUuid', 'a47ac10b-58cc-4372-a567-0e02b2c3d470');
$this->mockRequest('getApplicationIdes', 'a47ac10b-58cc-4372-a567-0e02b2c3d470');
$this->createMockAcliConfigFile('a47ac10b-58cc-4372-a567-0e02b2c3d470');
$this->executeCommand();
Expand Down
6 changes: 0 additions & 6 deletions tests/phpunit/src/Commands/Push/PushArtifactCommandTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -122,9 +122,6 @@ public function testPushTagArtifact(): void

public function testPushArtifactWithAcquiaCliFile(): void
{
$applications = $this->mockRequest('getApplications');
$this->mockRequest('getApplicationByUuid', $applications[0]->uuid);
$this->mockRequest('getApplicationEnvironments', $applications[0]->uuid);
$this->datastoreAcli->set('push.artifact.destination_git_urls', [
'https://github.com/example1/cli.git',
'https://github.com/example2/cli.git',
Expand All @@ -143,9 +140,6 @@ public function testPushArtifactWithAcquiaCliFile(): void

public function testPushArtifactWithArgs(): void
{
$applications = $this->mockRequest('getApplications');
$this->mockRequest('getApplicationByUuid', $applications[0]->uuid);
$this->mockRequest('getApplicationEnvironments', $applications[0]->uuid);
$destinationGitUrls = [
'https://github.com/example1/cli.git',
'https://github.com/example2/cli.git',
Expand Down

0 comments on commit 11c8a50

Please sign in to comment.