diff --git a/.github/workflows/linux_special.yaml b/.github/workflows/linux_special.yaml deleted file mode 100644 index 829da96..0000000 --- a/.github/workflows/linux_special.yaml +++ /dev/null @@ -1,181 +0,0 @@ -name: Linux with OpenCL and Cuda - -on: - push: - tags: - - "v*" - pull_request: - workflow_dispatch: - inputs: - build_only: - description: 'Build without publishing' - required: false - default: 'false' -jobs: - publish-tauri: - permissions: - contents: write - strategy: - fail-fast: false - matrix: - include: - - platform: "ubuntu-22.04" - platform_version: "22.04" - - platform: "ubuntu-24.04" - platform_version: "24.04" - runs-on: ${{ matrix.platform }} - steps: - - uses: actions/checkout@v4 - - - name: setup Bun - uses: oven-sh/setup-bun@v1 - - - name: Rust cache - uses: swatinem/rust-cache@v2 - - - name: Install Rust stable - uses: dtolnay/rust-toolchain@stable - - - name: Install frontend dependencies - run: bun install - working-directory: ./desktop - - - name: Cache Pre Build - id: cache-pre-build - uses: actions/cache@v4 - with: - path: | - desktop/src-tauri/openblas - key: ${{ matrix.platform }}-pre-build - - # Run pre build - - name: Run pre_build.js - run: bun scripts/pre_build.js --opencl - - - name: Build - uses: tauri-apps/tauri-action@v0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} - TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} - with: - projectPath: "./desktop" - tauriScript: bunx tauri - - - name: Rename installer - run: | - - # Rename .deb files - for file in target/release/bundle/deb/*.deb; do - name=$(basename "$file" .deb) - new_name="${name}_${{ matrix.platform }}_opencl.deb" - mv "$file" "target/release/bundle/deb/$new_name" - echo "Renamed '$file' to '$new_name'" - done - - # Rename .rpm files - for file in target/release/bundle/rpm/*.rpm; do - name=$(basename "$file" .rpm) - new_name="${name}_${{ matrix.platform_version }}_opencl.rpm" - mv "$file" "target/release/bundle/rpm/$new_name" - echo "Renamed '$file' to '$new_name'" - done - shell: bash - - - name: Upload installer - if: github.event.inputs.build_only != 'true' - run: | - bun scripts/publish.js target/release/bundle/deb/*.deb - bun scripts/publish.js target/release/bundle/rpm/*.rpm - shell: pwsh - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - publish-tauri-linux-cuda: - permissions: - contents: write - strategy: - fail-fast: false - matrix: - include: - - platform: "ubuntu-22.04" - cuda-version: "12.4.1" - platform_version: "22.04" - - platform: "ubuntu-24.04" - cuda-version: "12.4.1" - platform_version: "24.04" - - runs-on: ${{ matrix.platform }} - steps: - - uses: actions/checkout@v4 - - - uses: Jimver/cuda-toolkit@v0.2.15 - id: cuda-toolkit - with: - cuda: ${{ matrix.cuda-version }} - - - name: setup Bun - uses: oven-sh/setup-bun@v1 - - - name: Rust cache - uses: swatinem/rust-cache@v2 - - - name: Install Rust stable - uses: dtolnay/rust-toolchain@stable - - - name: Install frontend dependencies - run: bun install - working-directory: ./desktop - - - name: Cache Pre Build - id: cache-pre-build - uses: actions/cache@v4 - with: - path: | - desktop/src-tauri/openblas - key: ${{ matrix.platform }}-pre-build - - # Run pre build - - name: Run pre_build.js - run: bun scripts/pre_build.js --cuda - env: - INPUT_CUDA_VERSION: ${{ matrix.cuda-version }} - - - name: Build - uses: tauri-apps/tauri-action@v0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} - TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} - INPUT_CUDA_VERSION: ${{ matrix.cuda-version }} - with: - projectPath: "./desktop" - tauriScript: bunx tauri - - - name: Rename installer - run: | - - # Rename .deb files - for file in target/release/bundle/deb/*.deb; do - name=$(basename "$file" .deb) - new_name="${name}_${{ matrix.platform }}_nvidia_${{ matrix.cuda-version }}.deb" - mv "$file" "target/release/bundle/deb/$new_name" - echo "Renamed '$file' to '$new_name'" - done - - # Rename .rpm files - for file in target/release/bundle/rpm/*.rpm; do - name=$(basename "$file" .rpm) - new_name="${name}_${{ matrix.platform_version }}_nvidia_${{ matrix.cuda-version }}.rpm" - mv "$file" "target/release/bundle/rpm/$new_name" - echo "Renamed '$file' to '$new_name'" - done - shell: bash - - - name: Upload installer - if: github.event.inputs.build_only != 'true' - run: | - bun scripts/publish.js target/release/bundle/deb/*.deb - bun scripts/publish.js target/release/bundle/rpm/*.rpm - shell: pwsh - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/linux_special.yml b/.github/workflows/linux_special.yml new file mode 100644 index 0000000..84957f8 --- /dev/null +++ b/.github/workflows/linux_special.yml @@ -0,0 +1,132 @@ +name: Linux with OpenCL and Cuda + +on: + workflow_dispatch: + inputs: + build_only: + description: 'Build without publishing' + required: false + default: 'false' +jobs: + publish-tauri: + permissions: + contents: write + strategy: + fail-fast: false + matrix: + include: + # Ubuntu 22.04 + - platform: "ubuntu-22.04" + args: "" + pre-build-args: "" + rust-version: "stable" + name: "ubuntu-22.0" + + # Ubuntu 24.04 + - platform: "ubuntu-24.04" + args: "" + pre-build-args: "" + rust-version: "stable" + name: "ubuntu-24.0" + + + # Ubuntu 22.04 cuda + - platform: "ubuntu-22.04" + args: '--features "cuda"' + pre-build-args: "--cuda" + rust-version: "stable" + cuda-version: "12.4.1" + name: "ubuntu-22.04-cuda-12" + + # Ubuntu 24.04 cuda + - platform: "ubuntu-24.04" + args: '--features "cuda"' + pre-build-args: "--cuda" + rust-version: "stable" + cuda-version: "12.4.1" + name: "ubuntu-24.04-cuda-12" + + runs-on: ${{ matrix.platform }} + steps: + - uses: actions/checkout@v4 + + - name: Add msbuild to PATH + uses: microsoft/setup-msbuild@v2 + + + - uses: Jimver/cuda-toolkit@v0.2.15 + if: contains(matrix.args, 'cuda') + id: cuda-toolkit + with: + cuda: ${{ matrix.cuda-version }} + + - name: setup Bun + uses: oven-sh/setup-bun@v1 + + - name: Rust cache + uses: swatinem/rust-cache@v2 + + - name: Install Rust stable + uses: dtolnay/rust-toolchain@stable + + - name: Install frontend dependencies + run: bun install + working-directory: ./desktop + + + - name: Cache Pre Build + id: cache-pre-build + uses: actions/cache@v4 + with: + path: | + desktop/src-tauri/openblas + desktop/src-tauri/clblast + desktop/src-tauri/ffmpeg + key: ${{ runner.os }}-pre-build + + # Run pre build + - name: Run pre_build.js + run: bun scripts/pre_build.js ${{ matrix.pre-build-args }} + + + - name: Build + uses: tauri-apps/tauri-action@v0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} + TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} + INPUT_CUDA_VERSION: ${{ matrix.cuda-version }} + with: + projectPath: "./desktop" + tauriScript: bunx tauri + args: ${{ matrix.args }} + + + - name: Rename installer + run: | + + # Rename .deb files + for file in target/release/bundle/deb/*.deb; do + name=$(basename "$file" .deb) + new_name="${name}_${{ matrix.name }}.deb" + mv "$file" "target/release/bundle/deb/$new_name" + echo "Renamed '$file' to '$new_name'" + done + + # Rename .rpm files + for file in target/release/bundle/rpm/*.rpm; do + name=$(basename "$file" .rpm) + new_name="${name}_${{ matrix.name }}.rpm" + mv "$file" "target/release/bundle/rpm/$new_name" + echo "Renamed '$file' to '$new_name'" + done + shell: bash + + + - name: Upload installer + if: github.event.inputs.build_only != 'true' + run: | + bun scripts/publish.js target/release/bundle/deb/*.deb + bun scripts/publish.js target/release/bundle/rpm/*.rpm + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file