From 0224faa184e5470fb2d018ca6934ea902e159431 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Fri, 16 Jan 2026 12:57:14 +0800 Subject: [PATCH] chore: publish github --- .github/workflows/publish-github.yaml | 39 +++++++++ package.json | 1 + .../certd-server/src/modules/auto/auto-z.ts | 2 +- pnpm-lock.yaml | 82 +++++++++---------- scripts/publish-atomgit.js | 2 +- scripts/publish-gitee.js | 2 +- scripts/publish-github.js | 44 ++++++++++ 7 files changed, 128 insertions(+), 44 deletions(-) create mode 100644 .github/workflows/publish-github.yaml create mode 100644 scripts/publish-github.js diff --git a/.github/workflows/publish-github.yaml b/.github/workflows/publish-github.yaml new file mode 100644 index 000000000..ee7ce4ea7 --- /dev/null +++ b/.github/workflows/publish-github.yaml @@ -0,0 +1,39 @@ +name: publish-github +on: + push: + branches: ['v2-dev'] + paths: + - "trigger/publish.trigger" + workflow_run: + workflows: [ "build-image-for-release" ] + types: + - completed + +# schedule: +# - # 国际时间 19:17 执行,北京时间3:17 ↙↙↙ 改成你想要每天自动执行的时间 +# - cron: '17 19 * * *' +permissions: + contents: read + packages: write + +jobs: + publish-github: + runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'success' }} + steps: + - name: Checkout Code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + lfs: true + + - name: publish_to_github + id: publish_to_github + run: | + export GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} + rm -rf ./pnpm*.yaml + npm install -g pnpm + pnpm install + npm run publish_to_github + working-directory: ./ + \ No newline at end of file diff --git a/package.json b/package.json index e03b6bdd0..4dda575b5 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,7 @@ "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_gitee": "node --experimental-json-modules ./scripts/publish-gitee.js", + "publish_to_github": "node --experimental-json-modules ./scripts/publish-github.js", "get_version": "node --experimental-json-modules ./scripts/version.js" }, "license": "AGPL-3.0", diff --git a/packages/ui/certd-server/src/modules/auto/auto-z.ts b/packages/ui/certd-server/src/modules/auto/auto-z.ts index 19e6f7db9..d91777c40 100644 --- a/packages/ui/certd-server/src/modules/auto/auto-z.ts +++ b/packages/ui/certd-server/src/modules/auto/auto-z.ts @@ -37,7 +37,7 @@ export class AutoZPrint { logger.info(`当前版本:${version}`); const plusInfo = getPlusInfo(); if (isPlus()) { - logger.info(`授权信息:${plusInfo.vipType},${dayjs(plusInfo.expireTime).format('YYYY-MM-DD')}`); + logger.info(`授权信息:${plusInfo.vipType},${plusInfo.expireTime === -1 ? '永久' : dayjs(plusInfo.expireTime).format('YYYY-MM-DD')}`); } logger.info('Certd已启动'); logger.info('========================================='); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d599bc5d5..0eec0f826 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,7 +49,7 @@ importers: packages/core/acme-client: dependencies: '@certd/basic': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../basic '@peculiar/x509': specifier: ^1.11.0 @@ -213,10 +213,10 @@ importers: packages/core/pipeline: dependencies: '@certd/basic': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../basic '@certd/plus-core': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../pro/plus-core dayjs: specifier: ^1.11.7 @@ -412,7 +412,7 @@ importers: packages/libs/lib-k8s: dependencies: '@certd/basic': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../core/basic '@kubernetes/client-node': specifier: 0.21.0 @@ -452,19 +452,19 @@ importers: packages/libs/lib-server: dependencies: '@certd/acme-client': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../core/acme-client '@certd/basic': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../core/basic '@certd/pipeline': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../core/pipeline '@certd/plugin-lib': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../plugins/plugin-lib '@certd/plus-core': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../pro/plus-core '@midwayjs/cache': specifier: 3.14.0 @@ -610,16 +610,16 @@ importers: packages/plugins/plugin-cert: dependencies: '@certd/acme-client': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../core/acme-client '@certd/basic': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../core/basic '@certd/pipeline': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../core/pipeline '@certd/plugin-lib': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../plugin-lib psl: specifier: ^1.9.0 @@ -683,16 +683,16 @@ importers: specifier: ^3.964.0 version: 3.964.0(aws-crt@1.26.2) '@certd/acme-client': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../core/acme-client '@certd/basic': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../core/basic '@certd/pipeline': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../core/pipeline '@certd/plus-core': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../pro/plus-core '@kubernetes/client-node': specifier: 0.21.0 @@ -783,16 +783,16 @@ importers: packages/pro/commercial-core: dependencies: '@certd/basic': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../core/basic '@certd/lib-server': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../libs/lib-server '@certd/pipeline': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../core/pipeline '@certd/plus-core': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../plus-core '@midwayjs/core': specifier: 3.20.11 @@ -865,16 +865,16 @@ importers: packages/pro/plugin-plus: dependencies: '@certd/basic': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../core/basic '@certd/pipeline': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../core/pipeline '@certd/plugin-lib': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../plugins/plugin-lib '@certd/plus-core': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../plus-core crypto-js: specifier: ^4.2.0 @@ -950,7 +950,7 @@ importers: packages/pro/plus-core: dependencies: '@certd/basic': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../core/basic dayjs: specifier: ^1.11.7 @@ -1246,10 +1246,10 @@ importers: version: 0.1.3(zod@3.24.4) devDependencies: '@certd/lib-iframe': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../libs/lib-iframe '@certd/pipeline': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../core/pipeline '@rollup/plugin-commonjs': specifier: ^25.0.7 @@ -1438,46 +1438,46 @@ importers: specifier: ^3.964.0 version: 3.964.0(aws-crt@1.26.2) '@certd/acme-client': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../core/acme-client '@certd/basic': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../core/basic '@certd/commercial-core': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../pro/commercial-core '@certd/cv4pve-api-javascript': specifier: ^8.4.2 version: 8.4.2 '@certd/jdcloud': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../libs/lib-jdcloud '@certd/lib-huawei': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../libs/lib-huawei '@certd/lib-k8s': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../libs/lib-k8s '@certd/lib-server': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../libs/lib-server '@certd/midway-flyway-js': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../libs/midway-flyway-js '@certd/pipeline': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../core/pipeline '@certd/plugin-cert': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../plugins/plugin-cert '@certd/plugin-lib': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../plugins/plugin-lib '@certd/plugin-plus': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../pro/plugin-plus '@certd/plus-core': - specifier: ^1.38.0 + specifier: ^1.38.1 version: link:../../pro/plus-core '@google-cloud/publicca': specifier: ^1.3.0 diff --git a/scripts/publish-atomgit.js b/scripts/publish-atomgit.js index bc802041d..d924d5fd4 100644 --- a/scripts/publish-atomgit.js +++ b/scripts/publish-atomgit.js @@ -66,7 +66,7 @@ async function createRelease(versionTitle, content) { tag_name: `v${versionTitle}`, name: `v${versionTitle}`, body: content, - target_commitish: 'v2' + target_commitish: 'v2-dev' }, } ) diff --git a/scripts/publish-gitee.js b/scripts/publish-gitee.js index f0ee8eec1..a53cef599 100644 --- a/scripts/publish-gitee.js +++ b/scripts/publish-gitee.js @@ -20,7 +20,7 @@ async function createRelease(versionTitle, content) { tag_name: `v${versionTitle}`, name: `v${versionTitle}`, body: content, - target_commitish: 'v2' + target_commitish: 'v2-dev' }, }) console.log("createRelease success") diff --git a/scripts/publish-github.js b/scripts/publish-github.js new file mode 100644 index 000000000..aa954adee --- /dev/null +++ b/scripts/publish-github.js @@ -0,0 +1,44 @@ +import axios from 'axios' +import { getVersionContent } from './get-new-version.js' + + +const GithubAccessToken = process.env.GITHUB_TOKEN +if (!GithubAccessToken) { + console.log("GithubAccessToken is empty") + throw new Error("GithubAccessToken is empty") +} +// 创建release +async function createRelease(versionTitle, content) { + const response = await axios.request({ + method: 'POST', + url: `https://api.github.com/repos/certd/certd/releases`, + headers: { + "Content-Type": "application/json", + "Authorization": `Bearer ${GithubAccessToken}`, + }, + data: { + tag_name: `v${versionTitle}`, + name: `v${versionTitle}`, + body: content, + target_commitish: 'v2-dev' + }, + }) + console.log("createRelease success") + return response.data +} + +async function publishToGithub() { + try{ + const { versionTitle, content } = getVersionContent() + const release = await createRelease(versionTitle, content) + console.log("publishToGithub success") + } catch (error) { + if (error?.response?.data){ + console.log("publishToGithub error:",error.response.data) + }else{ + console.log("publishToGithub error:",error) + } + } +} + +publishToGithub()