Skip to content

Commit ee20295

Browse files
authored
Merge pull request #70 from TrentBrown/tb-portreeve-homebrew-smoke-cleanup
Fix disposable Homebrew smoke cleanup
2 parents 380ceed + fad7ea0 commit ee20295

2 files changed

Lines changed: 16 additions & 5 deletions

File tree

scripts/smoke-homebrew-candidate.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ import { renderHomebrewFormula } from './release-lib.js';
1212
import { readReleaseRecord } from './release-record.js';
1313

1414
const TAP_NAME = 'portreeve/smoke';
15+
export const HOMEBREW_SMOKE_FORMULA = `${TAP_NAME}/portreeve`;
16+
export const HOMEBREW_SMOKE_CASK = `${TAP_NAME}/portreeve-app`;
1517

1618
/**
1719
* @param {{record: Record<string, any>, releaseRoot: string, stagingRoot: string}}
@@ -147,7 +149,7 @@ export async function smokeHomebrewCandidate(options) {
147149

148150
await requireSuccess(
149151
run,
150-
['brew', 'install', `${TAP_NAME}/portreeve`],
152+
['brew', 'install', HOMEBREW_SMOKE_FORMULA],
151153
'Homebrew formula installation',
152154
);
153155
formulaInstalled = true;
@@ -175,7 +177,7 @@ export async function smokeHomebrewCandidate(options) {
175177
'install',
176178
'--cask',
177179
`--appdir=${applicationDirectory}`,
178-
`${TAP_NAME}/portreeve-app`,
180+
HOMEBREW_SMOKE_CASK,
179181
],
180182
'Homebrew cask installation',
181183
);
@@ -196,15 +198,15 @@ export async function smokeHomebrewCandidate(options) {
196198
await collectCleanupError(
197199
cleanupErrors,
198200
run,
199-
['brew', 'uninstall', '--cask', 'portreeve-app'],
201+
['brew', 'uninstall', '--cask', HOMEBREW_SMOKE_CASK],
200202
'Homebrew cask cleanup',
201203
);
202204
}
203205
if (formulaInstalled) {
204206
await collectCleanupError(
205207
cleanupErrors,
206208
run,
207-
['brew', 'uninstall', '--formula', 'portreeve'],
209+
['brew', 'uninstall', '--formula', HOMEBREW_SMOKE_FORMULA],
208210
'Homebrew formula cleanup',
209211
);
210212
}

test/release/homebrew-smoke.test.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@ import { afterEach, expect, test } from 'bun:test';
44
import { chmod, mkdir, mkdtemp, readFile, rm, stat, writeFile } from 'node:fs/promises';
55
import { tmpdir } from 'node:os';
66
import { join } from 'node:path';
7-
import { stageHomebrewCandidate } from '../../scripts/smoke-homebrew-candidate.js';
7+
import {
8+
HOMEBREW_SMOKE_CASK,
9+
HOMEBREW_SMOKE_FORMULA,
10+
stageHomebrewCandidate,
11+
} from '../../scripts/smoke-homebrew-candidate.js';
812
import { desktopDmgName } from '../../scripts/desktop-release-lib.js';
913
import {
1014
artifactName,
@@ -92,6 +96,11 @@ test('requires the complete formula and cask artifact set', async () => {
9296
).rejects.toThrow('exactly four native executables');
9397
});
9498

99+
test('fully qualifies disposable formula and cask names', () => {
100+
expect(HOMEBREW_SMOKE_FORMULA).toBe('portreeve/smoke/portreeve');
101+
expect(HOMEBREW_SMOKE_CASK).toBe('portreeve/smoke/portreeve-app');
102+
});
103+
95104
async function temporaryDirectory() {
96105
const directory = await mkdtemp(join(tmpdir(), 'portreeve-homebrew-test-'));
97106
directories.push(directory);

0 commit comments

Comments
 (0)