From e4a6ae01e05a15545dd7e90b1ef9caf7b66c13a0 Mon Sep 17 00:00:00 2001 From: Huang Xin Date: Sat, 4 Jan 2025 18:13:51 +0100 Subject: [PATCH] Release portable binaries for Windows (#102) --- .github/workflows/release.yml | 32 ++++++++++++++++++++++++++++- apps/readest-app/package.json | 2 +- apps/readest-app/release-notes.json | 8 ++++++++ 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6d1478a1..c93003cb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,7 +12,9 @@ jobs: runs-on: ubuntu-latest outputs: release_id: ${{ steps.get-release.outputs.release_id }} + release_tag: ${{ steps.get-release.outputs.release_tag }} release_note: ${{ steps.get-release-notes.outputs.release_note }} + release_version: ${{ steps.get-release-notes.outputs.release_version }} steps: - uses: actions/checkout@v4 @@ -30,6 +32,7 @@ jobs: repo: context.repo.repo, }) core.setOutput('release_id', data.id); + core.setOutput('release_tag', data.tag_name); - name: get release notes id: get-release-notes uses: actions/github-script@v7 @@ -42,6 +45,7 @@ jobs: const notes = releaseNotes.notes || []; const releaseNote = notes.map((note, index) => `${index + 1}. ${note}`).join(' '); console.log('Formatted release note:', releaseNote); + core.setOutput('release_version', version); core.setOutput('release_note', releaseNote); build-tauri: @@ -138,6 +142,31 @@ jobs: releaseBody: ${{ needs.get-release.outputs.release_note }} args: ${{ matrix.config.args || '' }} + - name: upload portable binaries (Windows only) + if: matrix.config.os == 'windows-latest' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + shell: bash + run: | + echo "Uploading Portable Binaries" + arch=${{ matrix.config.arch }} + version=${{ needs.get-release.outputs.release_version }} + + if [ "$arch" = "x86_64" ]; then + zip_name="Readest_${version}_x64-portable.zip" + elif [ "$arch" = "aarch64" ]; then + zip_name="Readest_${version}_arm64-portable.zip" + else + echo "Unknown architecture: $arch" + exit 1 + fi + + bin_path="apps/readest-app/src-tauri/target/${{ matrix.config.rust_target }}/release/readest.exe" + powershell.exe -Command "Compress-Archive -Path $bin_path -DestinationPath $zip_name -Force" + + echo "Uploading $zip_name to GitHub release" + gh release upload ${{ needs.get-release.outputs.release_tag }} $zip_name --clobber + update-release: permissions: contents: write @@ -153,11 +182,12 @@ jobs: release_note: ${{ needs.get-release.outputs.release_note }} with: script: | + const body = `## Release Highlight\n${process.env.release_note}`; github.rest.repos.updateRelease({ owner: context.repo.owner, repo: context.repo.repo, release_id: process.env.release_id, - body: process.env.release_note, + body: body, draft: false, prerelease: false }) diff --git a/apps/readest-app/package.json b/apps/readest-app/package.json index c73385bf..a6819871 100644 --- a/apps/readest-app/package.json +++ b/apps/readest-app/package.json @@ -1,6 +1,6 @@ { "name": "@readest/readest-app", - "version": "0.8.9", + "version": "0.9.0", "private": true, "scripts": { "dev": "dotenv -e .env.tauri -- next dev", diff --git a/apps/readest-app/release-notes.json b/apps/readest-app/release-notes.json index 8d5611c3..6f9f01c8 100644 --- a/apps/readest-app/release-notes.json +++ b/apps/readest-app/release-notes.json @@ -1,5 +1,13 @@ { "releases": { + "0.9.0": { + "date": "2025-01-04", + "notes": [ + "Better Custom CSS editor and OAuth process.", + "Add vertical/horizontal switch for CJK books.", + "Fix dropdown close overlay not working on Windows/Linux." + ] + }, "0.8.9": { "date": "2025-01-02", "notes": [