|
| 1 | +import {createRequire} from "module"; |
| 2 | +import fs from "fs-extra"; |
| 3 | +import {getReleaseInfo} from "./dist/utils/getReleaseInfo.js"; |
| 4 | +import {cliBinName, defaultLlamaCppGitHubRepo} from "./dist/config.js"; |
| 5 | + |
| 6 | +const require = createRequire(import.meta.url); |
| 7 | + |
| 8 | +const defaultFooterTemplatePath = require.resolve("conventional-changelog-writer/templates/footer.hbs"); |
| 9 | +const defaultFooterTemplate = await fs.readFile(defaultFooterTemplatePath, "utf8"); |
| 10 | +const releaseInfo = await getReleaseInfo(); |
| 11 | +const llamaCppRelease = releaseInfo.llamaCpp.release; |
| 12 | +const homepageUrl = require("./package.json").homepage; |
| 13 | +const homepageUrlWithoutTrailingSlash = homepageUrl.endsWith("/") |
| 14 | + ? homepageUrl.slice(0, -1) |
| 15 | + : homepageUrl; |
| 16 | + |
| 17 | +const newFooterTemplate = defaultFooterTemplate + "\n---\n" + |
| 18 | + `Shipped with \`llama.cpp\` release: [\`${llamaCppRelease.split("`").join("")}\`](https://github.com/${defaultLlamaCppGitHubRepo}/releases/tag/${encodeURIComponent(llamaCppRelease)}) ` + |
| 19 | + `(to use the latest \`llama.cpp\` release available, run \`npx --no ${cliBinName} download --release latest\`. [learn more](${homepageUrlWithoutTrailingSlash}/guide/building-from-source))\n`; |
| 20 | + |
| 21 | +/** |
| 22 | + * @type {import('semantic-release').GlobalConfig} |
| 23 | + */ |
| 24 | +export default { |
| 25 | + "branches": [ |
| 26 | + "master", |
| 27 | + {"name": "beta", "prerelease": true} |
| 28 | + ], |
| 29 | + "ci": true, |
| 30 | + "plugins": [ |
| 31 | + ["@semantic-release/commit-analyzer", { |
| 32 | + "preset": "angular", |
| 33 | + "releaseRules": [ |
| 34 | + {"type": "feat", "scope": "minor", "release": "patch"}, |
| 35 | + {"type": "docs", "scope": "README", "release": "patch"} |
| 36 | + ] |
| 37 | + }], |
| 38 | + ["@semantic-release/release-notes-generator", { |
| 39 | + "writerOpts": { |
| 40 | + "footerPartial": newFooterTemplate |
| 41 | + } |
| 42 | + }], |
| 43 | + "@semantic-release/npm", |
| 44 | + "@semantic-release/github", |
| 45 | + ["@semantic-release/exec", { |
| 46 | + "publishCmd": "echo \"${nextRelease.version}\" > .semanticRelease.npmPackage.deployedVersion.txt" |
| 47 | + }] |
| 48 | + ] |
| 49 | +}; |
0 commit comments