45 lines
1.2 KiB
JavaScript
45 lines
1.2 KiB
JavaScript
import axios from "axios";
|
|
import { readFileSync } from "fs";
|
|
import { dirname, join } from "path";
|
|
import { fileURLToPath } from "url";
|
|
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
const __dirname = dirname(__filename);
|
|
|
|
// Get version and changelog
|
|
const pkg = JSON.parse(
|
|
readFileSync(join(__dirname, "../package.json"), "utf8"),
|
|
);
|
|
const version = `v${pkg.version}`;
|
|
const changelog = readFileSync(join(__dirname, "../CHANGELOG.md"), "utf8");
|
|
|
|
// Extract latest release notes (between first two headings)
|
|
const latestNotes =
|
|
changelog.split("\n## ")[1]?.split("\n").slice(1).join("\n") ||
|
|
"No changes documented";
|
|
|
|
try {
|
|
const response = await axios.post(
|
|
"https://git.tuffraid.net/api/v1/repos/cowch/lst_v3/releases",
|
|
{
|
|
tag_name: version,
|
|
name: version,
|
|
body: latestNotes,
|
|
draft: false,
|
|
prerelease: false,
|
|
},
|
|
{
|
|
headers: {
|
|
Authorization: `token ${process.env.GITEA_TOKEN}`,
|
|
"Content-Type": "application/json",
|
|
},
|
|
},
|
|
);
|
|
|
|
console.log(`✅ Release ${version} created!`);
|
|
console.log(`🔗 ${response.data.html_url}`);
|
|
} catch (error) {
|
|
console.error(`❌ Error: ${error.response?.data?.message || error.message}`);
|
|
process.exit(1);
|
|
}
|