fix #42
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "release" | |
on: | |
push: | |
tags: | |
- "v*" | |
permissions: write-all | |
jobs: | |
check-version: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Clone Repository | |
uses: actions/checkout@v4 | |
with: | |
ref: main | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Extract version from tag | |
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV | |
- name: Use Node.js 20.X | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
- name: Check Version | |
run: | | |
ls | |
node ./script/checkVersion.cjs | |
sh ./checkVersion.sh | |
build-linux: | |
needs: [check-version] | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
target_platform: [linux,darwin] | |
target_arch: [x64, arm64] | |
steps: | |
- name: Clone Main Repository | |
uses: actions/checkout@v4 | |
with: | |
repository: 'NapNeko/NapCatQQ' | |
submodules: true | |
ref: main | |
token: ${{ secrets.NAPCAT_BUILD }} | |
- name: Use Node.js 20.X | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
- name: Build NuCat Linux | |
run: | | |
npm i --arch=${{ matrix.target_arch }} --platform=${{ matrix.target_platform }} | |
npm run build:prod | |
cd dist | |
npm i --omit=dev --arch=${{ matrix.target_arch }} --platform=${{ matrix.target_platform }} | |
cd .. | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: NapCat.${{ matrix.target_platform }}.${{ matrix.target_arch }} | |
path: dist | |
build-win32: | |
runs-on: ubuntu-latest | |
needs: [check-version] | |
strategy: | |
fail-fast: false | |
matrix: | |
target_platform: [win32] | |
target_arch: [x64] | |
steps: | |
- name: Clone Main Repository | |
uses: actions/checkout@v4 | |
with: | |
repository: 'NapNeko/NapCatQQ' | |
submodules: true | |
ref: main | |
token: ${{ secrets.NAPCAT_BUILD }} | |
- name: Use Node.js 20.X | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
- name: Build NuCat Linux | |
run: | | |
npm i --arch=${{ matrix.target_arch }} --platform=${{ matrix.target_platform }} | |
npm run build:prod | |
cd dist | |
npm i --omit=dev --arch=${{ matrix.target_arch }} --platform=${{ matrix.target_platform }} | |
cd .. | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: NapCat.${{ matrix.target_platform }}.${{ matrix.target_arch }} | |
path: dist | |
release-napcat: | |
needs: [build-win32,build-linux] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download All Artifact | |
uses: actions/download-artifact@v4 | |
- name: Compress subdirectories | |
run: | | |
for dir in */; do | |
base=$(basename "$dir") | |
zip -r "${base}.zip" "$dir" | |
done | |
- name: Extract version from tag | |
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV | |
- name: Clone Changes Log | |
run: curl -o CHANGELOG.md https://fastly.jsdelivr.net/gh/NapNeko/NapCatQQ@main/CHANGELOG.md | |
- name: Create Release Draft and Upload Artifacts | |
uses: softprops/action-gh-release@v1 | |
with: | |
name: NapCat V${{ env.VERSION }} | |
token: ${{ secrets.GITHUB_TOKEN }} | |
body_path: CHANGELOG.md | |
files: | | |
NapCat.win32.x64.zip | |
NapCat.linux.x64.zip | |
NapCat.linux.arm64.zip | |
# NapCat.darwin.x64.zip | |
# NapCat.darwin.arm64.zip | |
draft: true |