Compare commits

...
Author SHA1 Message Date
Dominik Sokal 272688ae85 try to fix the account name discrepancy in URLs 2022-10-27 15:18:07 +02:00
4 changed files with 25 additions and 14 deletions

No files matched your search

@@ -184,8 +184,13 @@ export async function runBuildAndSubmitAsync(
return;
}
const { accountName } = Object.values(buildCtxByPlatform)[0];
Log.newLine();
printLogsUrls(startedBuilds.map(startedBuild => startedBuild.build));
printLogsUrls(
startedBuilds.map(startedBuild => startedBuild.build),
accountName
);
Log.newLine();
const submissions: SubmissionFragment[] = [];
@@ -230,13 +235,12 @@ export async function runBuildAndSubmitAsync(
return;
}
const { accountName } = Object.values(buildCtxByPlatform)[0];
const builds = await waitForBuildEndAsync(graphqlClient, {
buildIds: startedBuilds.map(({ build }) => build.id),
accountName,
});
if (!flags.json) {
printBuildResults(builds);
printBuildResults(builds, accountName);
}
const haveAllBuildsFailedOrCanceled = builds.every(
@@ -76,7 +76,10 @@ export function formatGraphQLBuild(build: BuildFragment): string {
},
{
label: 'Logs',
value: getBuildLogsUrl(build),
value: getBuildLogsUrl(
build,
build.project.__typename === 'App' ? build.project.ownerAccount.name : undefined
),
},
{
label: 'Artifact',
@@ -16,12 +16,12 @@ import Log, { learnMore } from '../../log';
import { appPlatformDisplayNames, appPlatformEmojis } from '../../platform';
import { getBuildLogsUrl, getInternalDistributionInstallUrl } from './url';
export function printLogsUrls(builds: BuildFragment[]): void {
export function printLogsUrls(builds: BuildFragment[], accountName: string): void {
if (builds.length === 1) {
Log.log(`Build details: ${chalk.underline(getBuildLogsUrl(builds[0]))}`);
Log.log(`Build details: ${chalk.underline(getBuildLogsUrl(builds[0], accountName))}`);
} else {
builds.forEach(build => {
const logsUrl = getBuildLogsUrl(build);
const logsUrl = getBuildLogsUrl(build, accountName);
Log.log(
`${appPlatformEmojis[build.platform]} ${
appPlatformDisplayNames[build.platform]
@@ -31,18 +31,20 @@ export function printLogsUrls(builds: BuildFragment[]): void {
}
}
export function printBuildResults(builds: (BuildFragment | null)[]): void {
export function printBuildResults(builds: (BuildFragment | null)[], accountName: string): void {
Log.newLine();
if (builds.length === 1) {
const [build] = builds;
assert(build, 'Build should be defined');
printBuildResult(build);
printBuildResult(build, accountName);
} else {
(builds.filter(i => i) as BuildFragment[]).forEach(build => printBuildResult(build));
(builds.filter(i => i) as BuildFragment[]).forEach(build =>
printBuildResult(build, accountName)
);
}
}
function printBuildResult(build: BuildFragment): void {
function printBuildResult(build: BuildFragment, accountName: string): void {
Log.addNewLineIfNone();
if (build.status === BuildStatus.Errored) {
const userError = build.error;
@@ -66,7 +68,7 @@ function printBuildResult(build: BuildFragment): void {
}
if (build.distribution === DistributionType.Internal) {
const logsUrl = getBuildLogsUrl(build);
const logsUrl = getBuildLogsUrl(build, accountName);
// It's tricky to install the .apk file directly on Android so let's fallback
// to the build details page and let people press the button to download there
const qrcodeUrl =
+4 -2
View File
@@ -10,12 +10,14 @@ export function getProjectDashboardUrl(accountName: string, projectName: string)
).toString();
}
export function getBuildLogsUrl(build: BuildFragment): string {
export function getBuildLogsUrl(build: BuildFragment, accountName?: string): string {
const { project } = build;
const url =
project.__typename !== 'App'
? `/builds/${build.id}`
: `/accounts/${project.ownerAccount.name}/projects/${project.slug}/builds/${build.id}`;
: `/accounts/${accountName ?? project.ownerAccount.name}/projects/${project.slug}/builds/${
build.id
}`;
return new URL(url, getExpoWebsiteBaseUrl()).toString();
}