name: 发布新版本时构建应用 on: release: types: [published] jobs: build: runs-on: ${{ matrix.os }} strategy: matrix: os: [windows-latest, macos-latest, ubuntu-latest] node-version: [20.x] steps: - name: Checkout uses: actions/checkout@v4.1.7 - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - name: 安装依赖 run: yarn install - name: Windows 设置镜像源 if: matrix.os == 'windows-latest' run: yarn build:win - name: Windows 构建 if: matrix.os == 'windows-latest' run: yarn build:win - name: MacOS 构建 if: matrix.os == 'macos-latest' run: yarn build:mac - name: Linux 构建 if: matrix.os == 'ubuntu-latest' run: yarn build:linux - name: Windows 上传 if: matrix.os == 'windows-latest' uses: actions/upload-artifact@v4 with: name: ExamShowboard-Windows path: dist/*.exe - name: MacOS 上传 if: matrix.os == 'macos-latest' uses: actions/upload-artifact@v4 with: name: ExamShowboard-macOS path: dist/*.dmg - name: Linux 上传 if: matrix.os == 'ubuntu-latest' uses: actions/upload-artifact@v4 with: name: ExamShowboard-Linux path: dist/*.AppImage