Skip to content

0.0.1-beta.18

0.0.1-beta.18 #52

Workflow file for this run

# https://zhuanlan.zhihu.com/p/164901026
# https://www.antmoe.com/posts/18c087cf/
# https://zhuanlan.zhihu.com/p/348712087
# https://cloud.tencent.com/developer/article/1949574
# 此工作流的名字
name: Build
# 工作流的执行时机,可以设定为定时执行,每次push后执行,手动执行等
on:
# workflow_dispatch为在Github仓库的Actions面板中手动执行
# workflow_dispatch:
push:
branches:
- master
# 工作/任务,这里的工作是可以并行的。
jobs:
# 工作的名称“编译windows版”
build:
# 运行的操作系统 windows
runs-on: ${{ matrix.os }}
env:
GH_TOKEN: ${{ secrets.ELECTRON_TOKEN }}
strategy:
matrix:
# https://www.likecs.com/ask-314443.html
node-version: [16.16.0]
os: [windows-2022, ubuntu-latest]
# 步骤
steps:
# 使用预制action:拉取最新的代码
- uses: actions/checkout@v3
with:
ref: master
# https://pnpm.io/zh/continuous-integration/#github-actions
- uses: pnpm/action-setup@v2.2.4
name: Install pnpm
id: pnpm-install
with:
version: 7.1.0
# 安装node
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
# 安装python
- name: Use Python 3.9.13
uses: actions/setup-python@v4
with:
python-version: 3.9.13
env:
PYTHON_VERSION: 3.9.13
# https://docs.microsoft.com/zh-cn/visualstudio/releases/2017/vs2017-system-requirements-vs
# 将windows设置成windows-2016,2016要取消支持了,可换成2022
# - name: set msvs
# run: npm config set msvs_version 2022
# https://github.com/wxWidgets/wxWidgets/blob/master/.github/workflows/ci_msw.yml
# https://github.com/microsoft/setup-msbuild
- name: Add msbuild to PATH
if: matrix.os == 'windows-2022'
uses: microsoft/setup-msbuild@v1.1
with:
vs-prerelease: true
# 步骤一的名称:
- name: Build
# 该步骤运行的终端命令,运行编译命令
run: npm run build
# 步骤二的名称:将编译后的结果上传
# - name: Upload File
# # 使用预制action:上传文件,可以将执行路径打包成zip上传
# uses: actions/upload-artifact@v3
# with:
# # 上传后文件的名称
# name: windows
# # 打包的路径以及文件过滤,此为仅打包dist目录下的exe文件
# path: out/*exe
- name: 读取当前版本号
id: version
uses: ashley-taylor/read-json-property-action@v1.1
with:
path: ./dist/package.json
property: version
- name: 读取描述文件
id: description
uses: juliangruber/read-file-action@v1
with:
path: ./changelog/${{steps.version.outputs.value}}.md
# step5: cleanup artifacts in dist_electron
# - name: 清理不必要的资产
# run: |
# npx rimraf "out/!(*.exe|*.dmg)"
# - name: Generate release tag
# id: tag
# run: |
# echo "::set-output name=release_tag::UserBuild_$(date +"%Y.%m.%d_%H-%M")"
- name: Generate release tag
id: tag
run: |
echo "::set-output name=release_tag::v${{steps.version.outputs.value}}"
# echo "release_tag=v${{steps.version.outputs.value}}" >> $GITHUB_OUTPUT
- name: release # https://github.com/softprops/action-gh-release/issues/20
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ steps.tag.outputs.release_tag }}
name: ${{ steps.tag.outputs.release_tag }}
files: "out/*exe,out/*dmg,out/*AppImage,out/*yml"
body: ${{steps.description.outputs.content}}
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.ELECTRON_TOKEN }}