diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5123161..3e1cd52 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,7 +18,7 @@ jobs: node-version: '22' cache: 'npm' - run: npm ci - + - name: Build Windows Packages run: npx electron-builder --win --publish never - uses: actions/upload-artifact@v4 @@ -65,7 +65,7 @@ jobs: run: | sudo apt-get update sudo apt-get install -y libarchive-tools - + - uses: actions/setup-node@v4 with: node-version: '22' @@ -94,7 +94,7 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 0 - + - name: Install base packages run: | pacman -Syu --noconfirm @@ -131,26 +131,39 @@ jobs: *.src.tar.zst .SRCINFO + # Create release with Windows, Linux, Arch (fast builds) release: - needs: [build-windows, build-macos, build-linux, build-arch] + needs: [build-windows, build-linux, build-arch] runs-on: ubuntu-latest if: | - startsWith(github.ref, 'refs/tags/v') || - github.ref == 'refs/heads/main' || + startsWith(github.ref, 'refs/tags/v') || + github.ref == 'refs/heads/main' || github.event_name == 'workflow_dispatch' permissions: contents: write steps: - # FIX: './package.json' Module Not Found in `Get version` step - name: Checkout code uses: actions/checkout@v4 - - name: Download all artifacts + - name: Download Windows artifacts uses: actions/download-artifact@v4 with: - path: artifacts + name: windows-builds + path: artifacts/windows-builds + + - name: Download Linux artifacts + uses: actions/download-artifact@v4 + with: + name: linux-builds + path: artifacts/linux-builds + + - name: Download Arch artifacts + uses: actions/download-artifact@v4 + with: + name: arch-package + path: artifacts/arch-package - name: Display structure of downloaded files run: ls -R artifacts @@ -163,18 +176,43 @@ jobs: uses: softprops/action-gh-release@v2 with: tag_name: ${{ github.ref_name }} - # If it's a tag, use the tag. - # tag_name: ${{ github.ref_type == 'tag' && github.ref_name || format('v{0}.r{1}', steps.pkg_version.outputs.VERSION, github.run_number) }} - # If it's the 'release' branch, use 'v2.0.2-beta.r42' - # name: ${{ github.ref_type == 'tag' && github.ref_name || format('v{0}-beta.r{1}', steps.pkg_version.outputs.VERSION, github.run_number) }} files: | artifacts/arch-package/*.pkg.tar.zst artifacts/arch-package/*.src.tar.zst artifacts/arch-package/.SRCINFO - artifacts/linux-builds/**/* - artifacts/windows-builds/**/* - artifacts/macos-builds/**/* + artifacts/linux-builds/* + artifacts/windows-builds/* generate_release_notes: true draft: true prerelease: false - + + # Upload macOS builds separately (slow due to notarization) + release-macos: + needs: [build-macos, release] + runs-on: ubuntu-latest + if: | + startsWith(github.ref, 'refs/tags/v') || + github.ref == 'refs/heads/main' || + github.event_name == 'workflow_dispatch' + + permissions: + contents: write + + steps: + - name: Download macOS artifacts + uses: actions/download-artifact@v4 + with: + name: macos-builds + path: artifacts/macos-builds + + - name: Display macOS files + run: ls -R artifacts + + - name: Upload macOS to Release + uses: softprops/action-gh-release@v2 + with: + tag_name: ${{ github.ref_name }} + files: | + artifacts/macos-builds/* + draft: true + prerelease: false \ No newline at end of file