From c659689bc0052a5acdf0e5c80286e8bcb1d43302 Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Sun, 18 Jan 2026 16:17:50 +0800 Subject: chore(ci): setup semifold --- .github/workflows/semifold-ci.yaml | 151 +++++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 .github/workflows/semifold-ci.yaml (limited to '.github/workflows/semifold-ci.yaml') diff --git a/.github/workflows/semifold-ci.yaml b/.github/workflows/semifold-ci.yaml new file mode 100644 index 0000000..ad84bbb --- /dev/null +++ b/.github/workflows/semifold-ci.yaml @@ -0,0 +1,151 @@ +name: Semifold CI +on: + push: + branches: [main] + +env: + CLICOLOR_FORCE: 1 + +permissions: + id-token: write + contents: write + pull-requests: write + +jobs: + build-tauri: + name: Build on ${{ matrix.name }} + strategy: + fail-fast: false + matrix: + include: + - platform: "ubuntu-22.04" + name: "Linux x86_64" + target: "x86_64-unknown-linux-gnu" + args: "--target x86_64-unknown-linux-gnu" + - platform: "ubuntu-24.04-arm" + name: "Linux ARM64" + target: "aarch64-unknown-linux-gnu" + args: "--target aarch64-unknown-linux-gnu" + - platform: "macos-latest" + name: "macOS ARM64" + target: "aarch64-apple-darwin" + args: "--target aarch64-apple-darwin" + - platform: "windows-latest" + name: "Windows x86_64" + target: "x86_64-pc-windows-msvc" + args: "--target x86_64-pc-windows-msvc" + - platform: "windows-11-arm" + name: "Windows ARM64" + target: "aarch64-pc-windows-msvc" + args: "--target aarch64-pc-windows-msvc" + + runs-on: ${{ matrix.platform }} + container: + image: ${{ matrix.container }} + options: --user root + steps: + - uses: actions/checkout@v6 + + - name: Install Dependencies (Linux x86_64) + if: matrix.platform == 'ubuntu-22.04' + run: | + sudo apt-get update + sudo apt-get install -y libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev libfuse2 + + - name: Install Dependencies (Linux ARM64) + if: matrix.platform == 'ubuntu-24.04-arm' + run: | + sudo apt-get update + sudo apt-get install -y libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev libfuse2 + + - name: Install pnpm + uses: pnpm/action-setup@v4 + with: + version: latest + + - name: Install Node.js + uses: actions/setup-node@v6 + with: + node-version: 22 + cache: "pnpm" + cache-dependency-path: "ui/pnpm-lock.yaml" + + - name: Install Frontend Dependencies + run: pnpm install + working-directory: ui + + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + with: + targets: ${{ matrix.target }} + + - name: Rust Cache + uses: swatinem/rust-cache@v2 + with: + workspaces: "./src-tauri -> target" + shared-key: ${{ matrix.target }} + + - name: Setup appimagetool (Linux) + if: startsWith(matrix.platform, 'ubuntu') && !startsWith(matrix.platform, 'macos') && !startsWith(matrix.platform, 'windows') + run: | + ARCH=$(uname -m) + wget -q "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-${ARCH}.AppImage" + chmod +x "appimagetool-${ARCH}.AppImage" + if command -v sudo >/dev/null 2>&1; then + sudo mv "appimagetool-${ARCH}.AppImage" /usr/local/bin/appimagetool + else + mv "appimagetool-${ARCH}.AppImage" /usr/local/bin/appimagetool + fi + + - name: Build Tauri App + uses: tauri-apps/tauri-action@v0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + args: ${{ matrix.args }} + + - name: Fix AppImage for Wayland (Linux) + if: startsWith(matrix.platform, 'ubuntu') && !startsWith(matrix.platform, 'macos') && !startsWith(matrix.platform, 'windows') + run: | + # Locate the generated AppImage + APPIMAGE=$(find bundle -name "*.AppImage" -type f | head -1) + echo "Found AppImage: $APPIMAGE" + + if [ -n "$APPIMAGE" ]; then + # backup original AppImage + cp "$APPIMAGE" "${APPIMAGE}.backup" + + # extract AppImage + "$APPIMAGE" --appimage-extract + + # Fix GTK hook, remove forced X11 + if [ -f squashfs-root/apprun-hooks/linuxdeploy-plugin-gtk.sh ]; then + sed -i 's/^export GDK_BACKEND=x11.*$/# export GDK_BACKEND=x11 # Disabled for Wayland compatibility/' squashfs-root/apprun-hooks/linuxdeploy-plugin-gtk.sh + echo "Successfully patched GTK hook for Wayland compatibility" + fi + + # Repack AppImage + appimagetool squashfs-root "$APPIMAGE" + rm -rf squashfs-root + fi + working-directory: src-tauri/target/release + + - name: List Files + run: ls -l src-tauri/target/release + + release: + name: Release + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v6 + with: + fetch-depth: 0 + - name: Setup Semifold + uses: noctisynth/setup-semifold@main + - name: Semifold CI + run: semifold ci + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} -- cgit v1.2.3-70-g09d2 From 32fac4d53f5e01f338da98545092e70d2f193c79 Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Sun, 18 Jan 2026 16:20:05 +0800 Subject: ci(pnpm): remove pnpm version and use corepack instead --- .github/workflows/check.yml | 2 -- .github/workflows/lint.yml | 2 -- .github/workflows/semifold-ci.yaml | 2 -- .github/workflows/test.yml | 2 -- 4 files changed, 8 deletions(-) (limited to '.github/workflows/semifold-ci.yaml') diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 773cc21..8ee79a4 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -22,8 +22,6 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v4 - with: - version: latest - name: Install Node.js uses: actions/setup-node@v6 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index bfa9530..b1e7254 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -21,8 +21,6 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v4 - with: - version: latest - name: Install Node.js uses: actions/setup-node@v4 diff --git a/.github/workflows/semifold-ci.yaml b/.github/workflows/semifold-ci.yaml index ad84bbb..fdcc35a 100644 --- a/.github/workflows/semifold-ci.yaml +++ b/.github/workflows/semifold-ci.yaml @@ -60,8 +60,6 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v4 - with: - version: latest - name: Install Node.js uses: actions/setup-node@v6 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8c7c50c..8232705 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -75,8 +75,6 @@ jobs: - name: Install pnpm if: github.event_name == 'workflow_dispatch' uses: pnpm/action-setup@v4 - with: - version: latest - name: Install Frontend Dependencies if: github.event_name == 'workflow_dispatch' -- cgit v1.2.3-70-g09d2 From 104e52bb97f81d23132f3f75bf5e89b20cfe4624 Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Sun, 18 Jan 2026 16:26:18 +0800 Subject: ci(semifold): enable pr ci for test --- .github/workflows/semifold-ci.yaml | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) (limited to '.github/workflows/semifold-ci.yaml') diff --git a/.github/workflows/semifold-ci.yaml b/.github/workflows/semifold-ci.yaml index fdcc35a..b635e41 100644 --- a/.github/workflows/semifold-ci.yaml +++ b/.github/workflows/semifold-ci.yaml @@ -2,6 +2,8 @@ name: Semifold CI on: push: branches: [main] + pull_request: + branches: [main] env: CLICOLOR_FORCE: 1 @@ -131,19 +133,19 @@ jobs: - name: List Files run: ls -l src-tauri/target/release - release: - name: Release - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v6 - with: - fetch-depth: 0 - - name: Setup Semifold - uses: noctisynth/setup-semifold@main - - name: Semifold CI - run: semifold ci - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} - NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} + # release: + # name: Release + # runs-on: ubuntu-latest + # steps: + # - name: Checkout + # uses: actions/checkout@v6 + # with: + # fetch-depth: 0 + # - name: Setup Semifold + # uses: noctisynth/setup-semifold@main + # - name: Semifold CI + # run: semifold ci + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} + # NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} -- cgit v1.2.3-70-g09d2 From e8818ae5a52f325a3b79e14ddff2874b7315e272 Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Sun, 18 Jan 2026 17:02:21 +0800 Subject: ci(semifold): upload artifacts --- .github/workflows/semifold-ci.yaml | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) (limited to '.github/workflows/semifold-ci.yaml') diff --git a/.github/workflows/semifold-ci.yaml b/.github/workflows/semifold-ci.yaml index b635e41..0c5fd5b 100644 --- a/.github/workflows/semifold-ci.yaml +++ b/.github/workflows/semifold-ci.yaml @@ -130,8 +130,37 @@ jobs: fi working-directory: src-tauri/target/release - - name: List Files - run: ls -l src-tauri/target/release + - name: Upload Artifact (Linux) + if: runner.os == 'Linux' && github.event_name == 'workflow_dispatch' + uses: actions/upload-artifact@v6 + with: + name: dropout-linux-${{ matrix.wayland && 'arch' || 'ubuntu' }}-${{ steps.slug.outputs.sha8 }} + path: | + src-tauri/target/debug/bundle/appimage/*.AppImage + src-tauri/target/debug/bundle/deb/*.deb + src-tauri/target/debug/dropout + retention-days: 1 + + - name: Upload Artifact (Windows) + if: runner.os == 'Windows' && github.event_name == 'workflow_dispatch' + uses: actions/upload-artifact@v6 + with: + name: dropout-windows-${{ steps.slug.outputs.sha8 }} + path: | + src-tauri/target/debug/bundle/msi/*.msi + src-tauri/target/debug/bundle/nsis/*.exe + src-tauri/target/debug/dropout.exe + retention-days: 1 + + - name: Upload Artifact (macOS) + if: runner.os == 'macOS' && github.event_name == 'workflow_dispatch' + uses: actions/upload-artifact@v6 + with: + name: dropout-macos-${{ steps.slug.outputs.sha8 }} + path: | + src-tauri/target/debug/bundle/dmg/*.dmg + src-tauri/target/debug/bundle/macos/DropOut.app + retention-days: 1 # release: # name: Release -- cgit v1.2.3-70-g09d2 From 33eb32040999a488bdf0abcadd6e844decd9151a Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Sun, 18 Jan 2026 17:07:55 +0800 Subject: chore: add tauri cli --- .github/workflows/semifold-ci.yaml | 10 +-- package.json | 1 + pnpm-lock.yaml | 121 +++++++++++++++++++++++++++++++++++++ 3 files changed, 127 insertions(+), 5 deletions(-) (limited to '.github/workflows/semifold-ci.yaml') diff --git a/.github/workflows/semifold-ci.yaml b/.github/workflows/semifold-ci.yaml index 0c5fd5b..fbf38d8 100644 --- a/.github/workflows/semifold-ci.yaml +++ b/.github/workflows/semifold-ci.yaml @@ -21,23 +21,23 @@ jobs: matrix: include: - platform: "ubuntu-22.04" - name: "Linux x86_64" + name: "Linux x86-64" target: "x86_64-unknown-linux-gnu" args: "--target x86_64-unknown-linux-gnu" - platform: "ubuntu-24.04-arm" - name: "Linux ARM64" + name: "Linux Arm64" target: "aarch64-unknown-linux-gnu" args: "--target aarch64-unknown-linux-gnu" - platform: "macos-latest" - name: "macOS ARM64" + name: "macOS Arm64" target: "aarch64-apple-darwin" args: "--target aarch64-apple-darwin" - platform: "windows-latest" - name: "Windows x86_64" + name: "Windows x86-64" target: "x86_64-pc-windows-msvc" args: "--target x86_64-pc-windows-msvc" - platform: "windows-11-arm" - name: "Windows ARM64" + name: "Windows Arm64" target: "aarch64-pc-windows-msvc" args: "--target aarch64-pc-windows-msvc" diff --git a/package.json b/package.json index 8504302..271e041 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "devDependencies": { "@biomejs/biome": "^2.3.11", "@j178/prek": "^0.2.29", + "@tauri-apps/cli": "^2.9.6", "@types/node": "^24.10.9", "tsx": "^4.21.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c978916..bd64f9d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,6 +24,9 @@ importers: '@j178/prek': specifier: ^0.2.29 version: 0.2.29 + '@tauri-apps/cli': + specifier: ^2.9.6 + version: 2.9.6 '@types/node': specifier: ^24.10.9 version: 24.10.9 @@ -643,6 +646,77 @@ packages: '@tauri-apps/api@2.9.1': resolution: {integrity: sha512-IGlhP6EivjXHepbBic618GOmiWe4URJiIeZFlB7x3czM0yDHHYviH1Xvoiv4FefdkQtn6v7TuwWCRfOGdnVUGw==} + '@tauri-apps/cli-darwin-arm64@2.9.6': + resolution: {integrity: sha512-gf5no6N9FCk1qMrti4lfwP77JHP5haASZgVbBgpZG7BUepB3fhiLCXGUK8LvuOjP36HivXewjg72LTnPDScnQQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tauri-apps/cli-darwin-x64@2.9.6': + resolution: {integrity: sha512-oWh74WmqbERwwrwcueJyY6HYhgCksUc6NT7WKeXyrlY/FPmNgdyQAgcLuTSkhRFuQ6zh4Np1HZpOqCTpeZBDcw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tauri-apps/cli-linux-arm-gnueabihf@2.9.6': + resolution: {integrity: sha512-/zde3bFroFsNXOHN204DC2qUxAcAanUjVXXSdEGmhwMUZeAQalNj5cz2Qli2elsRjKN/hVbZOJj0gQ5zaYUjSg==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tauri-apps/cli-linux-arm64-gnu@2.9.6': + resolution: {integrity: sha512-pvbljdhp9VOo4RnID5ywSxgBs7qiylTPlK56cTk7InR3kYSTJKYMqv/4Q/4rGo/mG8cVppesKIeBMH42fw6wjg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tauri-apps/cli-linux-arm64-musl@2.9.6': + resolution: {integrity: sha512-02TKUndpodXBCR0oP//6dZWGYcc22Upf2eP27NvC6z0DIqvkBBFziQUcvi2n6SrwTRL0yGgQjkm9K5NIn8s6jw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tauri-apps/cli-linux-riscv64-gnu@2.9.6': + resolution: {integrity: sha512-fmp1hnulbqzl1GkXl4aTX9fV+ubHw2LqlLH1PE3BxZ11EQk+l/TmiEongjnxF0ie4kV8DQfDNJ1KGiIdWe1GvQ==} + engines: {node: '>= 10'} + cpu: [riscv64] + os: [linux] + + '@tauri-apps/cli-linux-x64-gnu@2.9.6': + resolution: {integrity: sha512-vY0le8ad2KaV1PJr+jCd8fUF9VOjwwQP/uBuTJvhvKTloEwxYA/kAjKK9OpIslGA9m/zcnSo74czI6bBrm2sYA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tauri-apps/cli-linux-x64-musl@2.9.6': + resolution: {integrity: sha512-TOEuB8YCFZTWVDzsO2yW0+zGcoMiPPwcUgdnW1ODnmgfwccpnihDRoks+ABT1e3fHb1ol8QQWsHSCovb3o2ENQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tauri-apps/cli-win32-arm64-msvc@2.9.6': + resolution: {integrity: sha512-ujmDGMRc4qRLAnj8nNG26Rlz9klJ0I0jmZs2BPpmNNf0gM/rcVHhqbEkAaHPTBVIrtUdf7bGvQAD2pyIiUrBHQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tauri-apps/cli-win32-ia32-msvc@2.9.6': + resolution: {integrity: sha512-S4pT0yAJgFX8QRCyKA1iKjZ9Q/oPjCZf66A/VlG5Yw54Nnr88J1uBpmenINbXxzyhduWrIXBaUbEY1K80ZbpMg==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@tauri-apps/cli-win32-x64-msvc@2.9.6': + resolution: {integrity: sha512-ldWuWSSkWbKOPjQMJoYVj9wLHcOniv7diyI5UAJ4XsBdtaFB0pKHQsqw/ItUma0VXGC7vB4E9fZjivmxur60aw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tauri-apps/cli@2.9.6': + resolution: {integrity: sha512-3xDdXL5omQ3sPfBfdC8fCtDKcnyV7OqyzQgfyT5P3+zY6lcPqIYKQBvUasNvppi21RSdfhy44ttvJmftb0PCDw==} + engines: {node: '>= 10'} + hasBin: true + '@tauri-apps/plugin-dialog@2.6.0': resolution: {integrity: sha512-q4Uq3eY87TdcYzXACiYSPhmpBA76shgmQswGkSVio4C82Sz2W4iehe9TnKYwbq7weHiL88Yw19XZm7v28+Micg==} @@ -1559,6 +1633,53 @@ snapshots: '@tauri-apps/api@2.9.1': {} + '@tauri-apps/cli-darwin-arm64@2.9.6': + optional: true + + '@tauri-apps/cli-darwin-x64@2.9.6': + optional: true + + '@tauri-apps/cli-linux-arm-gnueabihf@2.9.6': + optional: true + + '@tauri-apps/cli-linux-arm64-gnu@2.9.6': + optional: true + + '@tauri-apps/cli-linux-arm64-musl@2.9.6': + optional: true + + '@tauri-apps/cli-linux-riscv64-gnu@2.9.6': + optional: true + + '@tauri-apps/cli-linux-x64-gnu@2.9.6': + optional: true + + '@tauri-apps/cli-linux-x64-musl@2.9.6': + optional: true + + '@tauri-apps/cli-win32-arm64-msvc@2.9.6': + optional: true + + '@tauri-apps/cli-win32-ia32-msvc@2.9.6': + optional: true + + '@tauri-apps/cli-win32-x64-msvc@2.9.6': + optional: true + + '@tauri-apps/cli@2.9.6': + optionalDependencies: + '@tauri-apps/cli-darwin-arm64': 2.9.6 + '@tauri-apps/cli-darwin-x64': 2.9.6 + '@tauri-apps/cli-linux-arm-gnueabihf': 2.9.6 + '@tauri-apps/cli-linux-arm64-gnu': 2.9.6 + '@tauri-apps/cli-linux-arm64-musl': 2.9.6 + '@tauri-apps/cli-linux-riscv64-gnu': 2.9.6 + '@tauri-apps/cli-linux-x64-gnu': 2.9.6 + '@tauri-apps/cli-linux-x64-musl': 2.9.6 + '@tauri-apps/cli-win32-arm64-msvc': 2.9.6 + '@tauri-apps/cli-win32-ia32-msvc': 2.9.6 + '@tauri-apps/cli-win32-x64-msvc': 2.9.6 + '@tauri-apps/plugin-dialog@2.6.0': dependencies: '@tauri-apps/api': 2.9.1 -- cgit v1.2.3-70-g09d2 From 275612a0a39936584bfef7250a65a6a602751fe9 Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Sun, 18 Jan 2026 17:11:51 +0800 Subject: ci(workspace): use root path as cwd --- .github/workflows/semifold-ci.yaml | 19 +++++++++---------- .github/workflows/test.yml | 2 -- 2 files changed, 9 insertions(+), 12 deletions(-) (limited to '.github/workflows/semifold-ci.yaml') diff --git a/.github/workflows/semifold-ci.yaml b/.github/workflows/semifold-ci.yaml index fbf38d8..5a08741 100644 --- a/.github/workflows/semifold-ci.yaml +++ b/.github/workflows/semifold-ci.yaml @@ -82,7 +82,6 @@ jobs: - name: Rust Cache uses: swatinem/rust-cache@v2 with: - workspaces: "./src-tauri -> target" shared-key: ${{ matrix.target }} - name: Setup appimagetool (Linux) @@ -128,7 +127,7 @@ jobs: appimagetool squashfs-root "$APPIMAGE" rm -rf squashfs-root fi - working-directory: src-tauri/target/release + working-directory: target/release - name: Upload Artifact (Linux) if: runner.os == 'Linux' && github.event_name == 'workflow_dispatch' @@ -136,9 +135,9 @@ jobs: with: name: dropout-linux-${{ matrix.wayland && 'arch' || 'ubuntu' }}-${{ steps.slug.outputs.sha8 }} path: | - src-tauri/target/debug/bundle/appimage/*.AppImage - src-tauri/target/debug/bundle/deb/*.deb - src-tauri/target/debug/dropout + target/debug/bundle/appimage/*.AppImage + target/debug/bundle/deb/*.deb + target/debug/dropout retention-days: 1 - name: Upload Artifact (Windows) @@ -147,9 +146,9 @@ jobs: with: name: dropout-windows-${{ steps.slug.outputs.sha8 }} path: | - src-tauri/target/debug/bundle/msi/*.msi - src-tauri/target/debug/bundle/nsis/*.exe - src-tauri/target/debug/dropout.exe + target/debug/bundle/msi/*.msi + target/debug/bundle/nsis/*.exe + target/debug/dropout.exe retention-days: 1 - name: Upload Artifact (macOS) @@ -158,8 +157,8 @@ jobs: with: name: dropout-macos-${{ steps.slug.outputs.sha8 }} path: | - src-tauri/target/debug/bundle/dmg/*.dmg - src-tauri/target/debug/bundle/macos/DropOut.app + target/debug/bundle/dmg/*.dmg + target/debug/bundle/macos/DropOut.app retention-days: 1 # release: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8232705..f89dcde 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -87,8 +87,6 @@ jobs: - name: Rust Cache uses: swatinem/rust-cache@v2 - with: - workspaces: ./src-tauri - name: Run Tests working-directory: ./src-tauri -- cgit v1.2.3-70-g09d2 From 8e903d97a5bba2d3e67996ba0b1ebe04e96d98ec Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Sun, 18 Jan 2026 17:40:57 +0800 Subject: ci(semifold): fix artifact upload conditions --- .github/workflows/semifold-ci.yaml | 52 ++++++++++++++++++++++---------------- .github/workflows/test.yml | 16 ++++++------ 2 files changed, 38 insertions(+), 30 deletions(-) (limited to '.github/workflows/semifold-ci.yaml') diff --git a/.github/workflows/semifold-ci.yaml b/.github/workflows/semifold-ci.yaml index 5a08741..3413b7d 100644 --- a/.github/workflows/semifold-ci.yaml +++ b/.github/workflows/semifold-ci.yaml @@ -25,11 +25,11 @@ jobs: target: "x86_64-unknown-linux-gnu" args: "--target x86_64-unknown-linux-gnu" - platform: "ubuntu-24.04-arm" - name: "Linux Arm64" + name: "Linux arm64" target: "aarch64-unknown-linux-gnu" args: "--target aarch64-unknown-linux-gnu" - platform: "macos-latest" - name: "macOS Arm64" + name: "macOS arm64" target: "aarch64-apple-darwin" args: "--target aarch64-apple-darwin" - platform: "windows-latest" @@ -37,7 +37,7 @@ jobs: target: "x86_64-pc-windows-msvc" args: "--target x86_64-pc-windows-msvc" - platform: "windows-11-arm" - name: "Windows Arm64" + name: "Windows arm64" target: "aarch64-pc-windows-msvc" args: "--target aarch64-pc-windows-msvc" @@ -130,7 +130,7 @@ jobs: working-directory: target/release - name: Upload Artifact (Linux) - if: runner.os == 'Linux' && github.event_name == 'workflow_dispatch' + if: runner.os == 'Linux' uses: actions/upload-artifact@v6 with: name: dropout-linux-${{ matrix.wayland && 'arch' || 'ubuntu' }}-${{ steps.slug.outputs.sha8 }} @@ -141,7 +141,7 @@ jobs: retention-days: 1 - name: Upload Artifact (Windows) - if: runner.os == 'Windows' && github.event_name == 'workflow_dispatch' + if: runner.os == 'Windows' uses: actions/upload-artifact@v6 with: name: dropout-windows-${{ steps.slug.outputs.sha8 }} @@ -152,7 +152,7 @@ jobs: retention-days: 1 - name: Upload Artifact (macOS) - if: runner.os == 'macOS' && github.event_name == 'workflow_dispatch' + if: runner.os == 'macOS' uses: actions/upload-artifact@v6 with: name: dropout-macos-${{ steps.slug.outputs.sha8 }} @@ -161,19 +161,27 @@ jobs: target/debug/bundle/macos/DropOut.app retention-days: 1 - # release: - # name: Release - # runs-on: ubuntu-latest - # steps: - # - name: Checkout - # uses: actions/checkout@v6 - # with: - # fetch-depth: 0 - # - name: Setup Semifold - # uses: noctisynth/setup-semifold@main - # - name: Semifold CI - # run: semifold ci - # env: - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} - # NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} + release: + name: Release + runs-on: ubuntu-latest + needs: [build-tauri] + steps: + - name: Checkout + uses: actions/checkout@v6 + with: + fetch-depth: 0 + - name: Setup Semifold + uses: noctisynth/setup-semifold@main + - name: Download build artifacts + uses: actions/download-artifact@v6 + with: + path: artifacts/ + merge-multiple: true + - name: List artifacts + run: ls -R artifacts/ + # - name: Semifold CI + # run: semifold ci + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} + # NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f89dcde..402de0e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -112,9 +112,9 @@ jobs: with: name: dropout-linux-${{ matrix.wayland && 'arch' || 'ubuntu' }}-${{ steps.slug.outputs.sha8 }} path: | - src-tauri/target/debug/bundle/appimage/*.AppImage - src-tauri/target/debug/bundle/deb/*.deb - src-tauri/target/debug/dropout + target/debug/bundle/appimage/*.AppImage + target/debug/bundle/deb/*.deb + target/debug/dropout retention-days: 5 - name: Upload Artifact (Windows) @@ -123,9 +123,9 @@ jobs: with: name: dropout-windows-${{ steps.slug.outputs.sha8 }} path: | - src-tauri/target/debug/bundle/msi/*.msi - src-tauri/target/debug/bundle/nsis/*.exe - src-tauri/target/debug/dropout.exe + target/debug/bundle/msi/*.msi + target/debug/bundle/nsis/*.exe + target/debug/dropout.exe retention-days: 5 - name: Upload Artifact (macOS) @@ -134,6 +134,6 @@ jobs: with: name: dropout-macos-${{ steps.slug.outputs.sha8 }} path: | - src-tauri/target/debug/bundle/dmg/*.dmg - src-tauri/target/debug/bundle/macos/DropOut.app + target/debug/bundle/dmg/*.dmg + target/debug/bundle/macos/DropOut.app retention-days: 5 -- cgit v1.2.3-70-g09d2 From 7ae5ba6a27e3121c093734b3ec739684778c58f9 Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Sun, 18 Jan 2026 17:55:03 +0800 Subject: ci(semifold): use release path --- .github/workflows/semifold-ci.yaml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to '.github/workflows/semifold-ci.yaml') diff --git a/.github/workflows/semifold-ci.yaml b/.github/workflows/semifold-ci.yaml index 3413b7d..db863c1 100644 --- a/.github/workflows/semifold-ci.yaml +++ b/.github/workflows/semifold-ci.yaml @@ -6,6 +6,7 @@ on: branches: [main] env: + CARGO_TERM_COLOR: always CLICOLOR_FORCE: 1 permissions: @@ -135,9 +136,8 @@ jobs: with: name: dropout-linux-${{ matrix.wayland && 'arch' || 'ubuntu' }}-${{ steps.slug.outputs.sha8 }} path: | - target/debug/bundle/appimage/*.AppImage - target/debug/bundle/deb/*.deb - target/debug/dropout + target/release/bundle/appimage/*.AppImage + target/release/bundle/deb/*.deb retention-days: 1 - name: Upload Artifact (Windows) @@ -146,9 +146,8 @@ jobs: with: name: dropout-windows-${{ steps.slug.outputs.sha8 }} path: | - target/debug/bundle/msi/*.msi - target/debug/bundle/nsis/*.exe - target/debug/dropout.exe + target/release/bundle/msi/*.msi + target/release/bundle/nsis/*.exe retention-days: 1 - name: Upload Artifact (macOS) @@ -157,8 +156,8 @@ jobs: with: name: dropout-macos-${{ steps.slug.outputs.sha8 }} path: | - target/debug/bundle/dmg/*.dmg - target/debug/bundle/macos/DropOut.app + target/release/bundle/dmg/*.dmg + target/release/bundle/macos/DropOut.app retention-days: 1 release: -- cgit v1.2.3-70-g09d2 From 52b2afbab0e9224367a00df5a0af06b707c408e4 Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Sun, 18 Jan 2026 18:03:06 +0800 Subject: ci(semifold): add target to paths --- .github/workflows/semifold-ci.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to '.github/workflows/semifold-ci.yaml') diff --git a/.github/workflows/semifold-ci.yaml b/.github/workflows/semifold-ci.yaml index db863c1..32f9ec9 100644 --- a/.github/workflows/semifold-ci.yaml +++ b/.github/workflows/semifold-ci.yaml @@ -136,8 +136,8 @@ jobs: with: name: dropout-linux-${{ matrix.wayland && 'arch' || 'ubuntu' }}-${{ steps.slug.outputs.sha8 }} path: | - target/release/bundle/appimage/*.AppImage - target/release/bundle/deb/*.deb + target/${{ matrix.target }}/release/bundle/appimage/*.AppImage + target/${{ matrix.target }}/release/bundle/deb/*.deb retention-days: 1 - name: Upload Artifact (Windows) @@ -146,8 +146,8 @@ jobs: with: name: dropout-windows-${{ steps.slug.outputs.sha8 }} path: | - target/release/bundle/msi/*.msi - target/release/bundle/nsis/*.exe + target/${{ matrix.target }}/release/bundle/msi/*.msi + target/${{ matrix.target }}/release/bundle/nsis/*.exe retention-days: 1 - name: Upload Artifact (macOS) @@ -156,8 +156,8 @@ jobs: with: name: dropout-macos-${{ steps.slug.outputs.sha8 }} path: | - target/release/bundle/dmg/*.dmg - target/release/bundle/macos/DropOut.app + target/${{ matrix.target }}/release/bundle/dmg/*.dmg + target/${{ matrix.target }}/release/bundle/macos/DropOut.app retention-days: 1 release: -- cgit v1.2.3-70-g09d2 From 3335b9b63db067d3c97f945d2a978611f5474b30 Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Sun, 18 Jan 2026 18:08:33 +0800 Subject: ci(semifold): remove stupid naming convention --- .github/workflows/semifold-ci.yaml | 3 --- 1 file changed, 3 deletions(-) (limited to '.github/workflows/semifold-ci.yaml') diff --git a/.github/workflows/semifold-ci.yaml b/.github/workflows/semifold-ci.yaml index 32f9ec9..a8207b3 100644 --- a/.github/workflows/semifold-ci.yaml +++ b/.github/workflows/semifold-ci.yaml @@ -134,7 +134,6 @@ jobs: if: runner.os == 'Linux' uses: actions/upload-artifact@v6 with: - name: dropout-linux-${{ matrix.wayland && 'arch' || 'ubuntu' }}-${{ steps.slug.outputs.sha8 }} path: | target/${{ matrix.target }}/release/bundle/appimage/*.AppImage target/${{ matrix.target }}/release/bundle/deb/*.deb @@ -144,7 +143,6 @@ jobs: if: runner.os == 'Windows' uses: actions/upload-artifact@v6 with: - name: dropout-windows-${{ steps.slug.outputs.sha8 }} path: | target/${{ matrix.target }}/release/bundle/msi/*.msi target/${{ matrix.target }}/release/bundle/nsis/*.exe @@ -154,7 +152,6 @@ jobs: if: runner.os == 'macOS' uses: actions/upload-artifact@v6 with: - name: dropout-macos-${{ steps.slug.outputs.sha8 }} path: | target/${{ matrix.target }}/release/bundle/dmg/*.dmg target/${{ matrix.target }}/release/bundle/macos/DropOut.app -- cgit v1.2.3-70-g09d2 From 6b4b94927a4ed12eec83141ff1bbb516545382c1 Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Sun, 18 Jan 2026 21:04:14 +0800 Subject: ci(semifold): use duplicate artifact name --- .changes/config.toml | 1 + .github/workflows/semifold-ci.yaml | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) (limited to '.github/workflows/semifold-ci.yaml') diff --git a/.changes/config.toml b/.changes/config.toml index 8df2c64..d8dd8d2 100644 --- a/.changes/config.toml +++ b/.changes/config.toml @@ -18,6 +18,7 @@ version-mode = { pre-release.tag = "alpha" } path = "src-tauri" resolver = "rust" version-mode = { pre-release.tag = "alpha" } +assets = ["artifacts/*"] [resolver.rust.pre-check] url = "https://crates.io/api/v1/crates/{{ package.name }}/{{ package.version }}" diff --git a/.github/workflows/semifold-ci.yaml b/.github/workflows/semifold-ci.yaml index a8207b3..dccf884 100644 --- a/.github/workflows/semifold-ci.yaml +++ b/.github/workflows/semifold-ci.yaml @@ -43,9 +43,6 @@ jobs: args: "--target aarch64-pc-windows-msvc" runs-on: ${{ matrix.platform }} - container: - image: ${{ matrix.container }} - options: --user root steps: - uses: actions/checkout@v6 @@ -134,15 +131,18 @@ jobs: if: runner.os == 'Linux' uses: actions/upload-artifact@v6 with: + name: linux-${{ matrix.target }}-artifacts path: | target/${{ matrix.target }}/release/bundle/appimage/*.AppImage target/${{ matrix.target }}/release/bundle/deb/*.deb + target/${{ matrix.target }}/release/bundle/appimage/*.rpm retention-days: 1 - name: Upload Artifact (Windows) if: runner.os == 'Windows' uses: actions/upload-artifact@v6 with: + name: windows-${{ matrix.target }}-artifacts path: | target/${{ matrix.target }}/release/bundle/msi/*.msi target/${{ matrix.target }}/release/bundle/nsis/*.exe @@ -152,9 +152,10 @@ jobs: if: runner.os == 'macOS' uses: actions/upload-artifact@v6 with: + name: macos-${{ matrix.target }}-artifacts path: | target/${{ matrix.target }}/release/bundle/dmg/*.dmg - target/${{ matrix.target }}/release/bundle/macos/DropOut.app + target/${{ matrix.target }}/release/bundle/macos/*.app.tar.gz retention-days: 1 release: -- cgit v1.2.3-70-g09d2 From b9de45028667b4b0fc3ae37084e65ecb97ab94ff Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Sun, 18 Jan 2026 21:15:17 +0800 Subject: ci(semifold): add test publish code --- .changes/config.toml | 2 +- .github/workflows/semifold-ci.yaml | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) (limited to '.github/workflows/semifold-ci.yaml') diff --git a/.changes/config.toml b/.changes/config.toml index d8dd8d2..c7766ea 100644 --- a/.changes/config.toml +++ b/.changes/config.toml @@ -18,7 +18,7 @@ version-mode = { pre-release.tag = "alpha" } path = "src-tauri" resolver = "rust" version-mode = { pre-release.tag = "alpha" } -assets = ["artifacts/*"] +assets = ["artifacts/**/*"] [resolver.rust.pre-check] url = "https://crates.io/api/v1/crates/{{ package.name }}/{{ package.version }}" diff --git a/.github/workflows/semifold-ci.yaml b/.github/workflows/semifold-ci.yaml index dccf884..cc3770a 100644 --- a/.github/workflows/semifold-ci.yaml +++ b/.github/workflows/semifold-ci.yaml @@ -176,9 +176,9 @@ jobs: merge-multiple: true - name: List artifacts run: ls -R artifacts/ - # - name: Semifold CI - # run: semifold ci - # env: - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} - # NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} + - name: Semifold CI + run: semifold publish --debug --dry-run --allow-dirty + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} -- cgit v1.2.3-70-g09d2 From 48e918b8f66fbc395651bfec5bfd14d861205cae Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Sun, 18 Jan 2026 21:32:32 +0800 Subject: ci(semifold): release ci --- .github/workflows/semifold-ci.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to '.github/workflows/semifold-ci.yaml') diff --git a/.github/workflows/semifold-ci.yaml b/.github/workflows/semifold-ci.yaml index cc3770a..79df1b1 100644 --- a/.github/workflows/semifold-ci.yaml +++ b/.github/workflows/semifold-ci.yaml @@ -2,8 +2,6 @@ name: Semifold CI on: push: branches: [main] - pull_request: - branches: [main] env: CARGO_TERM_COLOR: always @@ -177,7 +175,7 @@ jobs: - name: List artifacts run: ls -R artifacts/ - name: Semifold CI - run: semifold publish --debug --dry-run --allow-dirty + run: semifold ci env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} -- cgit v1.2.3-70-g09d2 From f60c12c851e32859ae3905c0a9da717a5e6df3e4 Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Sun, 18 Jan 2026 22:02:03 +0800 Subject: ci(semifold): change os name --- .github/workflows/semifold-ci.yaml | 4 ++-- src-tauri/tauri.conf.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to '.github/workflows/semifold-ci.yaml') diff --git a/.github/workflows/semifold-ci.yaml b/.github/workflows/semifold-ci.yaml index 79df1b1..098eec5 100644 --- a/.github/workflows/semifold-ci.yaml +++ b/.github/workflows/semifold-ci.yaml @@ -20,7 +20,7 @@ jobs: matrix: include: - platform: "ubuntu-22.04" - name: "Linux x86-64" + name: "Linux x86_64" target: "x86_64-unknown-linux-gnu" args: "--target x86_64-unknown-linux-gnu" - platform: "ubuntu-24.04-arm" @@ -32,7 +32,7 @@ jobs: target: "aarch64-apple-darwin" args: "--target aarch64-apple-darwin" - platform: "windows-latest" - name: "Windows x86-64" + name: "Windows x86_64" target: "x86_64-pc-windows-msvc" args: "--target x86_64-pc-windows-msvc" - platform: "windows-11-arm" diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index e376299..fec2eb3 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,6 +1,6 @@ { "productName": "dropout", - "version": "0.1.26", + "version": "0.2.0-alpha", "identifier": "com.dropout.launcher", "build": { "beforeDevCommand": "pnpm --filter @dropout/ui dev", -- cgit v1.2.3-70-g09d2 From 39ebd11c69e8aea4767606175e7f34905b99608b Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Sun, 18 Jan 2026 22:08:01 +0800 Subject: ci(semifold): imporve release targets --- .github/workflows/semifold-ci.yaml | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to '.github/workflows/semifold-ci.yaml') diff --git a/.github/workflows/semifold-ci.yaml b/.github/workflows/semifold-ci.yaml index 098eec5..7df6403 100644 --- a/.github/workflows/semifold-ci.yaml +++ b/.github/workflows/semifold-ci.yaml @@ -19,22 +19,37 @@ jobs: fail-fast: false matrix: include: + # Linux - platform: "ubuntu-22.04" - name: "Linux x86_64" + name: "Linux x86_64 (GNU)" target: "x86_64-unknown-linux-gnu" args: "--target x86_64-unknown-linux-gnu" + - os: ubuntu-latest + name: "Linux x86_64 (Musl)" + target: "x86_64-unknown-linux-musl" + args: "--target x86_64-unknown-linux-musl" - platform: "ubuntu-24.04-arm" name: "Linux arm64" target: "aarch64-unknown-linux-gnu" args: "--target aarch64-unknown-linux-gnu" + # macOS + - platform: "macos-latest" + name: "macOS x86_64" + target: "x86_64-apple-darwin" + args: "--target x86_64-apple-darwin" - platform: "macos-latest" name: "macOS arm64" target: "aarch64-apple-darwin" args: "--target aarch64-apple-darwin" + # Windows - platform: "windows-latest" - name: "Windows x86_64" + name: "Windows x86_64 (MSVC)" target: "x86_64-pc-windows-msvc" args: "--target x86_64-pc-windows-msvc" + - platform: "windows-latest" + name: "Windows x86_64 (GNU)" + target: "x86_64-pc-windows-gnu" + args: "--target x86_64-pc-windows-gnu" - platform: "windows-11-arm" name: "Windows arm64" target: "aarch64-pc-windows-msvc" -- cgit v1.2.3-70-g09d2 From 033141c22b7ab2216de045da3f83702b037a186a Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Sun, 18 Jan 2026 22:09:49 +0800 Subject: ci(semifold): enable pull request tests --- .github/workflows/semifold-ci.yaml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to '.github/workflows/semifold-ci.yaml') diff --git a/.github/workflows/semifold-ci.yaml b/.github/workflows/semifold-ci.yaml index 7df6403..b90c2ca 100644 --- a/.github/workflows/semifold-ci.yaml +++ b/.github/workflows/semifold-ci.yaml @@ -2,6 +2,9 @@ name: Semifold CI on: push: branches: [main] + pull_request: + branches: + - main env: CARGO_TERM_COLOR: always @@ -189,9 +192,9 @@ jobs: merge-multiple: true - name: List artifacts run: ls -R artifacts/ - - name: Semifold CI - run: semifold ci - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} - NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} + # - name: Semifold CI + # run: semifold ci + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} + # NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} -- cgit v1.2.3-70-g09d2 From 09b2e0f84721587f0b0a59818ebc5720c447ebb8 Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Sun, 18 Jan 2026 22:12:33 +0800 Subject: ci(semifold): re-triger workflows --- .github/workflows/semifold-ci.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to '.github/workflows/semifold-ci.yaml') diff --git a/.github/workflows/semifold-ci.yaml b/.github/workflows/semifold-ci.yaml index b90c2ca..bb32da7 100644 --- a/.github/workflows/semifold-ci.yaml +++ b/.github/workflows/semifold-ci.yaml @@ -3,8 +3,7 @@ on: push: branches: [main] pull_request: - branches: - - main + branches: [main] env: CARGO_TERM_COLOR: always -- cgit v1.2.3-70-g09d2