| 148 | }; |
| 149 | |
| 150 | const collectReleaseAssetPaths = async ( |
| 151 | wrapperArchivePath: string, |
| 152 | ): Promise<ReadonlyArray<string>> => { |
| 153 | const assetNames = (await readdir(distDir)) |
| 154 | .filter((entry) => /^executor-.*\.(?:tar\.gz|zip)$/.test(entry)) |
| 155 | .sort(); |
| 156 | |
| 157 | return [wrapperArchivePath, ...assetNames.map((entry) => join(distDir, entry))]; |
| 158 | }; |
| 159 | |
| 160 | const githubReleaseExists = async (tag: string, repository: string): Promise<boolean> => { |
| 161 | const proc = Bun.spawn(["gh", "release", "view", tag, "--repo", repository], { |