diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dc74b99a..f8a3855d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,23 +1,67 @@ -name: "publish" +name: "release" on: push: tags: - "v*" jobs: - build-and-publish: + build-linux: runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + target_platform: [linux,darwin] + target_arch: [x64, arm64] steps: - - name: checkout - uses: actions/checkout@v3 - - - name: setup node - uses: actions/setup-node@v2 + - name: Clone Main Repository + uses: actions/checkout@v4 with: - node-version: 18 - - - name: install dependenies - run: export ELECTRON_SKIP_BINARY_DOWNLOAD=1 && npm install - - - name: build - run: npm run build:prod + repository: 'NapNeko/NapCat' + submodules: true + 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 + strategy: + fail-fast: false + matrix: + target_platform: [win32] + target_arch: [x64] + steps: + - name: Clone Main Repository + uses: actions/checkout@v4 + with: + repository: 'NapNeko/NapCat' + submodules: true + 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