mirror of
https://github.com/certd/certd.git
synced 2026-04-30 01:07:28 +08:00
chore: publish release to gitee
This commit is contained in:
@@ -139,4 +139,12 @@ jobs:
|
|||||||
export ATOMGIT_TOKEN=${{ secrets.ATOMGIT_TOKEN }}
|
export ATOMGIT_TOKEN=${{ secrets.ATOMGIT_TOKEN }}
|
||||||
pnpm install
|
pnpm install
|
||||||
npm run publish_to_atomgit
|
npm run publish_to_atomgit
|
||||||
|
working-directory: ./
|
||||||
|
|
||||||
|
- name: publish_to_gitee
|
||||||
|
id: publish_to_gitee
|
||||||
|
run: |
|
||||||
|
export GITEE_TOKEN=${{ secrets.GITEE_TOKEN }}
|
||||||
|
pnpm install
|
||||||
|
npm run publish_to_gitee
|
||||||
working-directory: ./
|
working-directory: ./
|
||||||
Vendored
+4
-1
@@ -10,5 +10,8 @@
|
|||||||
"editor.defaultFormatter": "vscode.typescript-language-features"
|
"editor.defaultFormatter": "vscode.typescript-language-features"
|
||||||
},
|
},
|
||||||
"editor.tabSize": 2,
|
"editor.tabSize": 2,
|
||||||
"explorer.autoReveal": false
|
"explorer.autoReveal": false,
|
||||||
|
"[javascript]": {
|
||||||
|
"editor.defaultFormatter": "vscode.typescript-language-features"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -39,6 +39,7 @@
|
|||||||
"dev": "pnpm run -r --parallel compile ",
|
"dev": "pnpm run -r --parallel compile ",
|
||||||
"release": "time /t >trigger/release.trigger && git add trigger/release.trigger && git commit -m \"build: release\" && git push",
|
"release": "time /t >trigger/release.trigger && git add trigger/release.trigger && git commit -m \"build: release\" && git push",
|
||||||
"publish_to_atomgit": "node --experimental-json-modules ./scripts/publish-atomgit.js",
|
"publish_to_atomgit": "node --experimental-json-modules ./scripts/publish-atomgit.js",
|
||||||
|
"publish_to_gitee": "node --experimental-json-modules ./scripts/publish-gitee.js",
|
||||||
"get_version": "node --experimental-json-modules ./scripts/version.js"
|
"get_version": "node --experimental-json-modules ./scripts/version.js"
|
||||||
},
|
},
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
import fs from 'fs'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
export function getVersionContent() {
|
||||||
|
// CHANGELOG.md
|
||||||
|
const changelog = fs.readFileSync('./CHANGELOG.md', 'utf8')
|
||||||
|
// 解析CHANGELOG.md
|
||||||
|
let lines = changelog.split('\n')
|
||||||
|
const versionLineIndex = lines.findIndex(line => line.startsWith('## '))
|
||||||
|
const versionLine = lines[versionLineIndex]
|
||||||
|
// ## [1.37.16](https://github.com/certd/certd/compare/v1.37.15...v1.37.16) (2025-12-15)
|
||||||
|
const versionTitle = versionLine.match(/\[(.*?)\]/)[1]
|
||||||
|
|
||||||
|
const contentStart = versionLineIndex + 1
|
||||||
|
lines = lines.slice(contentStart)
|
||||||
|
const contentEnd = lines.findIndex(line => {
|
||||||
|
return line.startsWith('## ')
|
||||||
|
})
|
||||||
|
const content = lines.slice(0, contentEnd).join('\n')
|
||||||
|
console.log("-------title------/n")
|
||||||
|
console.log(versionTitle)
|
||||||
|
console.log("-------content------/n")
|
||||||
|
console.log(content)
|
||||||
|
|
||||||
|
return {
|
||||||
|
versionTitle,
|
||||||
|
content
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,27 +1,11 @@
|
|||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
|
import { getVersionContent } from './get-new-version.js'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const AtomgitAccessToken = process.env.ATOMGIT_TOKEN
|
const AtomgitAccessToken = process.env.ATOMGIT_TOKEN
|
||||||
// CHANGELOG.md
|
|
||||||
const changelog = fs.readFileSync('./CHANGELOG.md', 'utf8')
|
|
||||||
// 解析CHANGELOG.md
|
|
||||||
let lines = changelog.split('\n')
|
|
||||||
const versionLineIndex = lines.findIndex(line => line.startsWith('## '))
|
|
||||||
const versionLine = lines[versionLineIndex]
|
|
||||||
// ## [1.37.16](https://github.com/certd/certd/compare/v1.37.15...v1.37.16) (2025-12-15)
|
|
||||||
const versionTitle = versionLine.match(/\[(.*?)\]/)[1]
|
|
||||||
|
|
||||||
const contentStart = versionLineIndex + 1
|
|
||||||
lines = lines.slice(contentStart)
|
|
||||||
const contentEnd = lines.findIndex(line => {
|
|
||||||
return line.startsWith('## ')
|
|
||||||
})
|
|
||||||
const content = lines.slice(0, contentEnd).join('\n')
|
|
||||||
console.log("-------title------/n")
|
|
||||||
console.log(versionTitle)
|
|
||||||
console.log("-------content------/n")
|
|
||||||
console.log(content)
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建仓库Release
|
* 创建仓库Release
|
||||||
@@ -68,7 +52,7 @@ string
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// 创建release
|
// 创建release
|
||||||
async function createRelease() {
|
async function createRelease(versionTitle, content) {
|
||||||
const response = await axios.request({
|
const response = await axios.request({
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
url: `https://api.atomgit.com/api/v5/repos/certd/certd/releases`,
|
url: `https://api.atomgit.com/api/v5/repos/certd/certd/releases`,
|
||||||
@@ -138,7 +122,7 @@ headers
|
|||||||
object
|
object
|
||||||
|
|
||||||
*/
|
*/
|
||||||
async function getUploadUrl() {
|
async function getUploadUrl(versionTitle) {
|
||||||
const response = await axios.request({
|
const response = await axios.request({
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
url: `https://api.atomgit.com/api/v5/repos/certd/certd/releases/v${versionTitle}/upload_url`,
|
url: `https://api.atomgit.com/api/v5/repos/certd/certd/releases/v${versionTitle}/upload_url`,
|
||||||
@@ -167,8 +151,9 @@ async function uploadFile(url, headers, data) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function publishToAtomgit() {
|
async function publishToAtomgit() {
|
||||||
const release = await createRelease()
|
const { versionTitle, content } = getVersionContent()
|
||||||
const uploadUrl = await getUploadUrl()
|
const release = await createRelease(versionTitle, content)
|
||||||
|
const uploadUrl = await getUploadUrl(versionTitle)
|
||||||
const fileName = `./packages/ui/certd-client/ui.zip`
|
const fileName = `./packages/ui/certd-client/ui.zip`
|
||||||
const fileData = fs.createReadStream(fileName)
|
const fileData = fs.createReadStream(fileName)
|
||||||
const contentLength = fs.statSync(fileName).size
|
const contentLength = fs.statSync(fileName).size
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
import axios from 'axios'
|
||||||
|
import { getVersionContent } from './get-new-version.js'
|
||||||
|
|
||||||
|
|
||||||
|
const GiteeAccessToken = process.env.GITEE_TOKEN
|
||||||
|
if (!GiteeAccessToken) {
|
||||||
|
console.log("GiteeAccessToken is empty")
|
||||||
|
throw new Error("GiteeAccessToken is empty")
|
||||||
|
}
|
||||||
|
// 创建release
|
||||||
|
async function createRelease(versionTitle, content) {
|
||||||
|
const response = await axios.request({
|
||||||
|
method: 'POST',
|
||||||
|
url: `https://gitee.com/api/v5/repos/certd/certd/releases`,
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json"
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
access_token: GiteeAccessToken,
|
||||||
|
tag_name: `v${versionTitle}`,
|
||||||
|
name: `v${versionTitle}`,
|
||||||
|
body: content,
|
||||||
|
target_commitish: 'v2'
|
||||||
|
},
|
||||||
|
})
|
||||||
|
console.log("createRelease success")
|
||||||
|
return response.data
|
||||||
|
}
|
||||||
|
|
||||||
|
async function publishToGitee() {
|
||||||
|
const { versionTitle, content } = getVersionContent()
|
||||||
|
const release = await createRelease(versionTitle, content)
|
||||||
|
console.log("publishToGitee success")
|
||||||
|
}
|
||||||
|
|
||||||
|
publishToGitee()
|
||||||
Reference in New Issue
Block a user