Skip to content

Commit 673597e

Browse files
committed
chore: don't repackage mpk, just include readme
1 parent 5c4d1b2 commit 673597e

File tree

3 files changed

+27
-61
lines changed

3 files changed

+27
-61
lines changed

automation/utils/bin/rui-oss-clearance.ts

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,10 @@ async function selectRelease(): Promise<GitHubDraftRelease> {
8989
printSuccess(`Found ${releases.length} draft release${releases.length !== 1 ? "s" : ""}`);
9090

9191
if (releases.length === 0) {
92-
printWarning("No draft releases found");
93-
throw new Error("No releases available");
92+
printWarning(
93+
"No draft releases found. Please create a draft release before trying again using `prepare-release` tool"
94+
);
95+
throw new Error("No draft releases found");
9496
}
9597

9698
console.log(); // spacing
@@ -252,18 +254,8 @@ async function handleIncludeCommand(): Promise<void> {
252254

253255
printInfo(`Readme to include: ${readmeToInclude}`);
254256

255-
// Prepare folder structure
256-
const [tmpFolder, downloadPath] = await createSBomGeneratorFolderStructure(release.name);
257-
printInfo(`Working directory: ${tmpFolder}`);
258-
259-
// Step 5: Download and verify
260-
await downloadAndVerifyAsset(mpkAsset, downloadPath);
261-
262-
// Step 6: Include readmeToInclude into the mpk
263-
await includeReadmeOssIntoMpk(readmeToInclude, downloadPath);
264-
265257
// Step 7: Upload updated asses to the draft release
266-
const newAsset = await gh.updateReleaseAsset(release.id, mpkAsset, downloadPath);
258+
const newAsset = await gh.uploadReleaseAsset(release.id, readmeToInclude, basename(readmeToInclude));
267259
console.log(`Successfully uploaded asset ${newAsset.name} (ID: ${newAsset.id})`);
268260

269261
console.log(release.id);

automation/utils/bin/rui-prepare-release.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -353,15 +353,13 @@ async function createReleaseBranch(packageName: string, version: string): Promis
353353
}
354354

355355
async function initializeJiraClient(): Promise<Jira> {
356-
const projectKey = process.env.JIRA_PROJECT_KEY;
357-
const baseUrl = process.env.JIRA_BASE_URL;
356+
const projectKey = process.env.JIRA_PROJECT_KEY ?? "WC";
357+
const baseUrl = process.env.JIRA_BASE_URL ?? "https://mendix.atlassian.net";
358358
const apiToken = process.env.JIRA_API_TOKEN;
359359

360360
if (!projectKey || !baseUrl || !apiToken) {
361361
console.error(chalk.red("❌ Missing Jira environment variables"));
362362
console.log(chalk.dim(" Required variables:"));
363-
console.log(chalk.dim(" export JIRA_PROJECT_KEY=WEB"));
364-
console.log(chalk.dim(" export JIRA_BASE_URL=https://your-company.atlassian.net"));
365363
console.log(chalk.dim(" export JIRA_API_TOKEN=username@your-company.com:ATATT3xFfGF0..."));
366364
console.log(chalk.dim(" Get your API token at: https://id.atlassian.com/manage-profile/security/api-tokens"));
367365
throw new Error("Missing Jira environment variables");

automation/utils/src/github.ts

Lines changed: 20 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ export class GitHub {
5252
authSet = false;
5353
tmpPrefix = "gh-";
5454
authToken: string = "";
55+
owner = "mendix";
56+
repo = "web-widgets";
5557

5658
async ensureAuth(): Promise<void> {
5759
if (!this.authSet) {
@@ -140,7 +142,7 @@ export class GitHub {
140142
const release =
141143
(await fetch<{ id: string }>(
142144
"GET",
143-
`https://api.github.com/repos/mendix/web-widgets/releases/tags/${releaseTag}`,
145+
`https://api.github.com/repos/${this.owner}/${this.repo}/releases/tags/${releaseTag}`,
144146
undefined,
145147
{ ...this.ghAPIHeaders }
146148
)) ?? [];
@@ -171,7 +173,7 @@ export class GitHub {
171173
name: string;
172174
browser_download_url: string;
173175
}>
174-
>("GET", `https://api.github.com/repos/mendix/web-widgets/releases/${releaseId}/assets`, undefined, {
176+
>("GET", `https://api.github.com/repos/${this.owner}/${this.repo}/releases/${releaseId}/assets`, undefined, {
175177
...this.ghAPIHeaders
176178
});
177179
}
@@ -188,10 +190,10 @@ export class GitHub {
188190
return downloadUrl;
189191
}
190192

191-
async getDraftReleases(owner = "mendix", repo = "web-widgets"): Promise<GitHubDraftRelease[]> {
193+
async getDraftReleases(): Promise<GitHubDraftRelease[]> {
192194
const releases = await fetch<GitHubDraftRelease[]>(
193195
"GET",
194-
`https://api.github.com/repos/${owner}/${repo}/releases`,
196+
`https://api.github.com/repos/${this.owner}/${this.repo}/releases`,
195197
undefined,
196198
{
197199
...this.ghAPIHeaders
@@ -202,15 +204,10 @@ export class GitHub {
202204
return releases.filter(release => release.draft);
203205
}
204206

205-
async downloadReleaseAsset(
206-
assetId: string,
207-
destinationPath: string,
208-
owner = "mendix",
209-
repo = "web-widgets"
210-
): Promise<void> {
207+
async downloadReleaseAsset(assetId: string, destinationPath: string): Promise<void> {
211208
await this.ensureAuth();
212209

213-
const url = `https://api.github.com/repos/${owner}/${repo}/releases/assets/${assetId}`;
210+
const url = `https://api.github.com/repos/${this.owner}/${this.repo}/releases/assets/${assetId}`;
214211

215212
try {
216213
const response = await nodefetch(url, {
@@ -256,14 +253,14 @@ export class GitHub {
256253
}): Promise<void> {
257254
await this.ensureAuth();
258255

259-
const { workflowId, ref, inputs, owner = "mendix", repo = "web-widgets" } = params;
256+
const { workflowId, ref, inputs } = params;
260257

261258
// Convert inputs object to CLI parameters
262259
const inputParams = Object.entries(inputs)
263260
.map(([key, value]) => `-f ${key}=${value}`)
264261
.join(" ");
265262

266-
const repoParam = `${owner}/${repo}`;
263+
const repoParam = `${this.owner}/${this.repo}`;
267264

268265
const command = [`gh workflow run`, `"${workflowId}"`, `--ref "${ref}"`, inputParams, `-R "${repoParam}"`]
269266
.filter(Boolean)
@@ -290,13 +287,16 @@ export class GitHub {
290287
/**
291288
* Delete a release asset by ID
292289
*/
293-
private async deleteReleaseAsset(assetId: string, owner = "mendix", repo = "web-widgets"): Promise<void> {
290+
async deleteReleaseAsset(assetId: string): Promise<void> {
294291
await this.ensureAuth();
295292

296-
const response = await nodefetch(`https://api.github.com/repos/${owner}/${repo}/releases/assets/${assetId}`, {
297-
method: "DELETE",
298-
headers: this.ghAPIHeaders
299-
});
293+
const response = await nodefetch(
294+
`https://api.github.com/repos/${this.owner}/${this.repo}/releases/assets/${assetId}`,
295+
{
296+
method: "DELETE",
297+
headers: this.ghAPIHeaders
298+
}
299+
);
300300

301301
if (!response.ok) {
302302
throw new Error(`Failed to delete asset ${assetId}: ${response.status} ${response.statusText}`);
@@ -306,19 +306,13 @@ export class GitHub {
306306
/**
307307
* Upload a new asset to a release
308308
*/
309-
private async uploadReleaseAsset(
310-
releaseId: string,
311-
filePath: string,
312-
assetName: string,
313-
owner = "mendix",
314-
repo = "web-widgets"
315-
): Promise<GitHubReleaseAsset> {
309+
async uploadReleaseAsset(releaseId: string, filePath: string, assetName: string): Promise<GitHubReleaseAsset> {
316310
await this.ensureAuth();
317311

318312
// Get release info to get upload URL
319313
const release = await fetch<{ upload_url: string }>(
320314
"GET",
321-
`https://api.github.com/repos/${owner}/${repo}/releases/${releaseId}`,
315+
`https://api.github.com/repos/${this.owner}/${this.repo}/releases/${releaseId}`,
322316
undefined,
323317
this.ghAPIHeaders
324318
);
@@ -351,24 +345,6 @@ export class GitHub {
351345

352346
return asset;
353347
}
354-
355-
/**
356-
* Update a release asset by replacing it with a new file.
357-
*/
358-
async updateReleaseAsset(
359-
releaseId: string,
360-
existingAsset: GitHubReleaseAsset,
361-
localFilePath: string,
362-
owner = "mendix",
363-
repo = "web-widgets"
364-
): Promise<GitHubReleaseAsset> {
365-
await this.ensureAuth();
366-
367-
await this.deleteReleaseAsset(existingAsset.id, owner, repo);
368-
369-
// Upload the new asset
370-
return this.uploadReleaseAsset(releaseId, localFilePath, existingAsset.name, owner, repo);
371-
}
372348
}
373349

374350
export const gh = new GitHub();

0 commit comments

Comments
 (0)