From 49c25a28e4ad1999a23cb896a10ab538a8d16ab2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BB=9B=E4=BA=BD?= <83791825+Soltus@users.noreply.github.com> Date: Fri, 10 May 2024 16:18:47 +0800 Subject: [PATCH 1/2] :construction_worker: Add electron version info to release_body --- .github/workflows/cd.yml | 36 +++++++++++++++++++-------------- scripts/_pkg/Utils.py | 3 ++- scripts/parse-changelog-HEAD.py | 9 +++++---- 3 files changed, 28 insertions(+), 20 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index f77f293c2..f8d857eaf 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -41,33 +41,39 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} excludes: prerelease, draft - - name: Gather Release Information - id: release_info - run: | - echo "release_title=$(git show --format=%s --no-patch | head -1)" >> $GITHUB_OUTPUT - echo "release_version=$(TZ=Asia/Shanghai date +'v%Y%m%d%H%M')" >> $GITHUB_OUTPUT - changelog_header=$(python scripts/parse-changelog-HEAD.py -t ${{ github.ref }} -b ${{ steps.thisLatestRelease.outputs.release }} ${{ env.repo_owner }}/${{ env.repo_name }}) - changelog=$(python scripts/parse-changelog.py -t ${{ github.ref }} ${{ env.repo_owner }}/${{ env.repo_name }}) - EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64) - echo "release_body<<$EOF" >> $GITHUB_ENV - echo "$changelog_header" >> $GITHUB_ENV - echo "$changelog" >> $GITHUB_ENV - echo "$EOF" >> $GITHUB_ENV - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Extract version from package.json uses: sergeysova/jq-action@v2 id: version with: cmd: 'jq .version ${{ env.package_json }} -r' + - name: Extract electronVersion from package.json + uses: sergeysova/jq-action@v2 + id: electronVersion + with: + cmd: "jq .devDependencies.electron ${{ env.package_json }} -r" + - name: Extract packageManager from package.json uses: sergeysova/jq-action@v2 id: packageManager with: cmd: "jq .packageManager ${{ env.package_json }} -r" + - name: Gather Release Information + id: release_info + run: | + echo "release_title=$(git show --format=%s --no-patch | head -1)" >> $GITHUB_OUTPUT + echo "release_version=$(TZ=Asia/Shanghai date +'v%Y%m%d%H%M')" >> $GITHUB_OUTPUT + changelog_header=$(python scripts/parse-changelog-HEAD.py -t ${{ github.ref }} -b ${{ steps.thisLatestRelease.outputs.release }} -e ${{ steps.electronVersion.outputs.value }} ${{ env.repo_owner }}/${{ env.repo_name }}) + changelog=$(python scripts/parse-changelog.py -t ${{ github.ref }} ${{ env.repo_owner }}/${{ env.repo_name }}) + EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64) + echo "release_body<<$EOF" >> $GITHUB_ENV + echo "$changelog_header" >> $GITHUB_ENV + echo "$changelog" >> $GITHUB_ENV + echo "$EOF" >> $GITHUB_ENV + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Create Release id: create_release uses: ncipollo/release-action@v1 diff --git a/scripts/_pkg/Utils.py b/scripts/_pkg/Utils.py index 66cdd7cec..494b8cc00 100644 --- a/scripts/_pkg/Utils.py +++ b/scripts/_pkg/Utils.py @@ -44,7 +44,7 @@ def get_issue_first_label(issue, docmap): return label.name return "" -def generate_header_from_repo(repo_name, tag_name, lastestRelease, action_file, HEADER=''): +def generate_header_from_repo(repo_name, tag_name, lastestRelease, electron_version, action_file, HEADER=''): thisRelease = tag_name.split("/")[-1] pat = re.search("v([0-9.]+)", thisRelease) if not pat: @@ -55,6 +55,7 @@ def generate_header_from_repo(repo_name, tag_name, lastestRelease, action_file, GitHub commits difference between two branches/tags/commits +Electron

{HEADER}''' diff --git a/scripts/parse-changelog-HEAD.py b/scripts/parse-changelog-HEAD.py index f22ad4f8e..50d50a231 100644 --- a/scripts/parse-changelog-HEAD.py +++ b/scripts/parse-changelog-HEAD.py @@ -4,14 +4,14 @@ from argparse import ArgumentParser from _pkg import Const as C from _pkg import Utils as U -def generate_msg_from_repo(repo_name, tag_name, lastestRelease): - thisRelease = tag_name.split("/")[-1] +def generate_msg_from_repo(repo_name, args): + thisRelease = args.tag.split("/")[-1] pat = re.search("v([0-9.]+)", thisRelease) if not pat: return None action_file = "cd.yml" - print(U.generate_header_from_repo(repo_name, tag_name, lastestRelease, action_file, C.HEADER[repo_name])) + print(U.generate_header_from_repo(repo_name, args.tag, args.lastestRelease, args.electronVersion, action_file, C.HEADER[repo_name])) if __name__ == "__main__": @@ -20,10 +20,11 @@ if __name__ == "__main__": ) parser.add_argument("-t", "--tag", help="the tag to filter issues.") parser.add_argument("-b", "--lastestRelease", help="lastest Release") + parser.add_argument("-e", "--electronVersion", help="Electron Release") parser.add_argument("repo", help="The repository name") args = parser.parse_args() try: - generate_msg_from_repo(args.repo, args.tag, args.lastestRelease) + generate_msg_from_repo(args.repo, args) except AssertionError: print(args.tag) From ff6c154bfaaf25e375cd6e9cf71d182d5c6114f8 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Fri, 10 May 2024 16:20:02 +0800 Subject: [PATCH 2/2] :art: Improve reindexing --- kernel/model/box.go | 1 + kernel/model/index.go | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/kernel/model/box.go b/kernel/model/box.go index a5daf0f29..3b5dec2db 100644 --- a/kernel/model/box.go +++ b/kernel/model/box.go @@ -502,6 +502,7 @@ func genTreeID(tree *parse.Tree) { func FullReindex() { task.AppendTask(task.DatabaseIndexFull, fullReindex) task.AppendTask(task.DatabaseIndexRef, IndexRefs) + task.AppendTaskWithTimeout(task.DatabaseIndexEmbedBlock, 30*time.Second, autoIndexEmbedBlock) task.AppendTask(task.ReloadUI, util.ReloadUI) } diff --git a/kernel/model/index.go b/kernel/model/index.go index 78d29376f..6ac83c750 100644 --- a/kernel/model/index.go +++ b/kernel/model/index.go @@ -282,13 +282,18 @@ func IndexRefs() { ResetVirtualBlockRefCache() } +var indexEmbedBlockLock = sync.Mutex{} + // IndexEmbedBlockJob 嵌入块支持搜索 https://github.com/siyuan-note/siyuan/issues/7112 func IndexEmbedBlockJob() { - embedBlocks := sql.QueryEmptyContentEmbedBlocks() - task.AppendTaskWithTimeout(task.DatabaseIndexEmbedBlock, 30*time.Second, autoIndexEmbedBlock, embedBlocks) + task.AppendTaskWithTimeout(task.DatabaseIndexEmbedBlock, 30*time.Second, autoIndexEmbedBlock) } -func autoIndexEmbedBlock(embedBlocks []*sql.Block) { +func autoIndexEmbedBlock() { + indexEmbedBlockLock.Lock() + defer indexEmbedBlockLock.Unlock() + + embedBlocks := sql.QueryEmptyContentEmbedBlocks() for i, embedBlock := range embedBlocks { markdown := strings.TrimSpace(embedBlock.Markdown) markdown = strings.TrimPrefix(markdown, "{{")