From 2021fd98b9d33e31eba451f0c20bfe865e24110d Mon Sep 17 00:00:00 2001 From: shenlebantongying Date: Sun, 5 May 2024 09:33:41 -0400 Subject: [PATCH] [skip ci] update CI again --- .github/workflows/macos-homebrew-breakpad.yml | 2 +- .github/workflows/macos-homebrew.yml | 21 +- .github/workflows/windows-6.x.yml | 19 +- .github/workflows/windows.yml | 241 ------------------ 4 files changed, 32 insertions(+), 251 deletions(-) delete mode 100644 .github/workflows/windows.yml diff --git a/.github/workflows/macos-homebrew-breakpad.yml b/.github/workflows/macos-homebrew-breakpad.yml index a71b0339a..453199fac 100644 --- a/.github/workflows/macos-homebrew-breakpad.yml +++ b/.github/workflows/macos-homebrew-breakpad.yml @@ -26,7 +26,7 @@ jobs: qt_arch: [clang_64] env: targetName: GoldenDict - version: 24.02.16 + version: 24.05.05 version-suffix: alpha prerelease: true steps: diff --git a/.github/workflows/macos-homebrew.yml b/.github/workflows/macos-homebrew.yml index 6a7e81a10..4322572d9 100644 --- a/.github/workflows/macos-homebrew.yml +++ b/.github/workflows/macos-homebrew.yml @@ -27,7 +27,7 @@ jobs: qt_arch: [clang_64] env: targetName: GoldenDict - version: 24.02.16 + version: 24.05.05 version-suffix: ${{ !contains(github.ref_name,'master') && 'alpha' || 'LiXia' }} prerelease: ${{ !contains(github.ref_name,'master') }} steps: @@ -81,12 +81,23 @@ jobs: cmake --install build_dir/ - name: changelog id: changelog + env: + prerelease: ${{env.prerelease}} run: | - previousTag=$(git tag --sort=-creatordate | grep "^v" | sed -n 2p) - echo "previousTag : $previousTag" - + if [[ "$prerelease" == 'true' ]] + then + echo "This is a pre-release" + previousTag=$(git tag --sort=-creatordate | grep "^v" | sed -n 2p) + currentTag=$(git tag --sort=-creatordate | grep "^v" | sed -n 1p) + else + echo "This is not a pre-release" + previousTag=$(git tag --sort=-creatordate | grep "^v" | grep -v "alpha" | sed -n 2p) + currentTag=$(git tag --sort=-creatordate | grep "^v" | grep -v "alpha" | sed -n 1p) + fi echo "prev_tag=$previousTag" >> $GITHUB_OUTPUT - echo "curr_tag=$(git tag --sort=-creatordate | grep "^v" | sed -n 1p)" >> $GITHUB_OUTPUT + echo "curr_tag=$currentTag" >> $GITHUB_OUTPUT + echo "previousTag : $previousTag" + echo "currentTag : $currentTag" - name: Set outputs id: vars diff --git a/.github/workflows/windows-6.x.yml b/.github/workflows/windows-6.x.yml index b9f114ed0..1346e2feb 100644 --- a/.github/workflows/windows-6.x.yml +++ b/.github/workflows/windows-6.x.yml @@ -56,12 +56,23 @@ jobs: - name: changelog id: changelog shell: bash + env: + prerelease: ${{env.prerelease}} run: | - previousTag=$(git tag --sort=-creatordate | grep "^v" | sed -n 2p) - echo "previousTag : $previousTag" - + if [[ "$prerelease" == 'true' ]] + then + echo "This is a pre-release" + previousTag=$(git tag --sort=-creatordate | grep "^v" | sed -n 2p) + currentTag=$(git tag --sort=-creatordate | grep "^v" | sed -n 1p) + else + echo "This is not a pre-release" + previousTag=$(git tag --sort=-creatordate | grep "^v" | grep -v "alpha" | sed -n 2p) + currentTag=$(git tag --sort=-creatordate | grep "^v" | grep -v "alpha" | sed -n 1p) + fi echo "prev_tag=$previousTag" >> $GITHUB_OUTPUT - echo "curr_tag=$(git tag --sort=-creatordate | grep "^v" | sed -n 1p)" >> $GITHUB_OUTPUT + echo "curr_tag=$currentTag" >> $GITHUB_OUTPUT + echo "previousTag : $previousTag" + echo "currentTag : $currentTag" - name: "Build Changelog" id: build_changelog diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml deleted file mode 100644 index a066e6c49..000000000 --- a/.github/workflows/windows.yml +++ /dev/null @@ -1,241 +0,0 @@ -name: Windows -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true -on: - workflow_dispatch: - # push: - # branches: - # - dev - # - master - # paths-ignore: - # - 'docs/**' - # - "howto/**" - # - "*.md" - # - ".clang-format" - -jobs: - build: - name: Build - # 运行平台 - # 参考文档 https://github.com/actions/virtual-environments/blob/main/images/win/Windows2019-Readme.md - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [windows-2019] - qt_ver: [5.15.2] - qt_arch: [win64_msvc2019_64] - env: - targetName: GoldenDict.exe - version: 24.02.16 - version-suffix: alpha - prerelease: true - # 步骤 - steps: - # 安装Qt - - name: Install Qt - # 使用外部action。这个action专门用来安装Qt - uses: jurplel/install-qt-action@v3 - with: - # Version of Qt to install - version: ${{ matrix.qt_ver }} - # Target platform for build - # target: ${{ matrix.qt_target }} - arch: ${{ matrix.qt_arch }} - - modules: qtwebengine - # 拉取代码 - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - submodules: true - - - name: changelog - id: changelog - shell: bash - run: | - previousTag=$(git tag --sort=-creatordate | grep "^v" | sed -n 2p) - echo "previousTag : $previousTag" - - - echo "prev_tag=$previousTag" >> $GITHUB_OUTPUT - echo "curr_tag=$(git tag --sort=-creatordate | grep "^v" | sed -n 1p)" >> $GITHUB_OUTPUT - - - name: Set outputs - id: vars - shell: bash - run: | - echo "sha_short=$(git rev-parse --short=8 HEAD)" >> $GITHUB_OUTPUT - echo "release_date=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT - echo "release_time=$(date +'%H%M%S')" >> $GITHUB_OUTPUT - echo "release_time_clock=$(date +'%H:%M:%S')" >> $GITHUB_OUTPUT - echo "release_hm=$(date +'%y%m%d')" >> $GITHUB_OUTPUT - - - name: version-file - shell: bash - env: - VAR_SUFFIX: ${{env.version-suffix}} - VAR_VERSION: ${{env.version}} - run: | - current_tag=$(git rev-parse --short=8 HEAD) - release_date=$(date +'%Y%m%d') - echo "$VAR_VERSION-$VAR_SUFFIX.$release_date.$current_tag">version.txt - cat version.txt - echo "$version" - - - uses: ilammy/msvc-dev-cmd@v1 - # msvc编译 - - name: msvc-build goldendict - id: build - shell: cmd - run: | - qmake "CONFIG+=zim_support" CONFIG+=release CONFIG+=use_iconv CONFIG+=use_xapian CONFIG+=no_ffmpeg_player - nmake - - echo winSdkDir=%WindowsSdkDir% >> %GITHUB_ENV% - echo winSdkVer=%WindowsSdkVersion% >> %GITHUB_ENV% - echo vcToolsInstallDir=%VCToolsInstallDir% >> %GITHUB_ENV% - echo vcToolsRedistDir=%VCToolsRedistDir% >> %GITHUB_ENV% - echo QTDIR=%Qt5_DIR% >> %GITHUB_ENV% - - # 打包 - - name: windows ps package - id: package-windows - env: - archiveName: GoldenDict-Windows.${{ steps.vars.outputs.sha_short }}-${{ steps.vars.outputs.release_time }} - shell: pwsh - run: | - & .github\scripts\windows-publish.ps1 ${env:archiveName} ${env:targetName} - - - name: package - id: package - shell: bash - run: | - packageName=GoldenDict-Windows.${{ steps.vars.outputs.sha_short }}-${{ steps.vars.outputs.release_time }} - echo $packageName - echo "packageName=$packageName" >> $GITHUB_OUTPUT - - - name: "Build Changelog" - id: build_changelog - uses: mikepenz/release-changelog-builder-action@v3 - with: - commitMode: false - fromTag: ${{ steps.changelog.outputs.prev_tag }} - toTag: "${{ steps.changelog.outputs.curr_tag }}" - configurationJson: | - { - "template": "#{{CHANGELOG}}\n\n
\n🔴 Uncategorized\n\n#{{UNCATEGORIZED}}\n
", - "categories": [ - { - "title": "## 🚀 Features", - "labels": ["feature","feat","opt"] - }, - { - "title": "## 🐛 Fixes", - "labels": ["fix","bug"] - } - , - { - "title": "## 🤖 Github action", - "labels": ["action"] - } - , - { - "title": "## 🧼 Clean Code", - "labels": ["clean"] - } - - ], - "label_extractor": [ - { - "pattern": "([^:]*):.*", - "target": "$1", - "on_property": "title", - "flags": "gu" - } - ] - } - - - name: upload goldendict.exe only - # if: startsWith(github.event.ref, 'refs/tags/') - uses: svenstaro/upload-release-action@v2 - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: release/${{ env.targetName }} - asset_name: ${{ matrix.qt_ver }}-${{ env.targetName }} - - tag: v${{env.version}}-${{env.version-suffix}}.${{ steps.vars.outputs.sha_short }} - overwrite: true - release_name: GoldenDict-ng-v${{env.version}}-${{env.version-suffix}}.${{ steps.vars.outputs.release_hm }}.${{ steps.vars.outputs.sha_short }} - prerelease: ${{env.prerelease}} - - - - name: copy nsis - shell: bash - run: | - ls -al - cp tools/nsis/GoldenDict.nsi ${{ steps.package.outputs.packageName }}/ - - name: Create installer - uses: joncloud/makensis-action@v4 - with: - arguments: "/V3" - script-file: ${{ steps.package.outputs.packageName }}/GoldenDict.nsi - - name: make installer - run: | - ls *.exe - cd ${{ steps.package.outputs.packageName }} - ls *.exe - - name: upload goldendict installer - # if: startsWith(github.event.ref, 'refs/tags/') - uses: svenstaro/upload-release-action@v2 - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ steps.package.outputs.packageName }}/GoldenDict-ng-v23-Installer.exe - asset_name: ${{ matrix.qt_ver }}-GoldenDict-ng-Installer.exe - - tag: v${{env.version}}-${{env.version-suffix}}.${{ steps.vars.outputs.sha_short }} - overwrite: true - release_name: GoldenDict-ng-v${{env.version}}-${{env.version-suffix}}.${{ steps.vars.outputs.release_hm }}.${{ steps.vars.outputs.sha_short }} - prerelease: ${{env.prerelease}} - - name: uploadRelease - uses: svenstaro/upload-release-action@v2 - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ steps.package.outputs.packageName }}.zip - asset_name: ${{ matrix.qt_ver }}-${{ env.targetName }}_${{ matrix.os }}_${{steps.vars.outputs.release_date}}.zip - - tag: v${{env.version}}-${{env.version-suffix}}.${{ steps.vars.outputs.sha_short }} - overwrite: true - release_name: GoldenDict-ng-v${{env.version}}-${{env.version-suffix}}.${{ steps.vars.outputs.release_hm }}.${{ steps.vars.outputs.sha_short }} - prerelease: ${{env.prerelease}} - body: | - #### Install instructions for Windows, macOS and Linux - - . - - #### Filename pattern (文件名模式): **[Qt version]-GoldenDict-ng-[OS]-[release-date].[ext]** - - Qt6.X is recommended for various enhancements. - - Windows users can use either `****-installer.exe` (for installer) or `****.zip` (unzip and run). - The `goldendict.exe` can be dropped into previous installation's folder (if dependencies aren't changed). - - Linux users can use Flatpak or build from source. - https://flathub.org/apps/io.github.xiaoyifang.goldendict_ng - - macOS users can use `.dmg` installer. - - `6.5.1-GoldenDict.exe_windows-2019_20230701.zip` means built with Qt6.5.1, windows/msvc-2019 at 20230701 as a zip archive. - - #### Build Details - - Flatpak - macOS: macOS-12 and macOS-13 - Windows: Visual studio 2019 - based on: ${{github.ref_name}} - - - - #### Changes - - ${{steps.build_changelog.outputs.changelog}}