mirror of
https://github.com/qarmin/czkawka.git
synced 2025-09-04 16:21:23 +00:00
Simplify CI (#1573)
This commit is contained in:
344
.github/workflows/linux.yml
vendored
344
.github/workflows/linux.yml
vendored
@@ -9,62 +9,99 @@ env:
|
||||
CARGO_TERM_COLOR: always
|
||||
|
||||
jobs:
|
||||
linux-cli-krokiet-release:
|
||||
if: ${{ github.ref == 'refs/heads/master' }}
|
||||
runs-on: ubuntu-22.04
|
||||
linux-all:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-22.04, ubuntu-22.04-arm]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup env
|
||||
run: |
|
||||
ARCHNAME=$([ "${{ runner.arch }}" = "ARM64" ] && echo arm64 || echo x86_64)
|
||||
echo "ARCHNAME=$ARCHNAME" >> $GITHUB_ENV
|
||||
|
||||
- name: Install basic libraries
|
||||
run: sudo apt update || true; sudo apt install libheif-dev libraw-dev ffmpeg -y
|
||||
run: sudo apt update || true; sudo apt install libheif-dev libraw-dev ffmpeg libgtk-4-dev -y
|
||||
|
||||
- name: Setup rust version
|
||||
run: rustup default 1.85.0
|
||||
|
||||
- name: Build Release
|
||||
if: ${{ github.ref == 'refs/heads/master' }}
|
||||
run: |
|
||||
sed -i 's/#lto = "thin"/lto = "thin"/g' Cargo.toml
|
||||
cargo build --release --bin czkawka_cli --bin krokiet
|
||||
|
||||
echo "VERS=release" >> $GITHUB_ENV
|
||||
|
||||
cargo build --release
|
||||
mv target/release/czkawka_cli linux_czkawka_cli_${{ env.ARCHNAME }}
|
||||
mv target/release/czkawka_gui linux_czkawka_gui_${{ env.ARCHNAME }}
|
||||
mv target/release/krokiet linux_krokiet_${{ env.ARCHNAME }}
|
||||
|
||||
cargo build --release --features "heif,libraw"
|
||||
mv target/release/czkawka_cli linux_czkawka_cli_heif_raw_${{ env.ARCHNAME }}
|
||||
mv target/release/czkawka_gui linux_czkawka_gui_heif_raw_${{ env.ARCHNAME }}
|
||||
mv target/release/krokiet linux_krokiet_heif_raw_${{ env.ARCHNAME }}
|
||||
|
||||
- name: Store Linux CLI
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: czkawka_cli-${{ runner.os }}-release
|
||||
path: target/release/czkawka_cli
|
||||
|
||||
- name: Store Linux Krokiet
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: krokiet-${{ runner.os }}-release
|
||||
path: target/release/krokiet
|
||||
|
||||
- name: Prepare files to release
|
||||
- name: Build Debug
|
||||
if: ${{ github.ref != 'refs/heads/master' }}
|
||||
run: |
|
||||
mv target/release/czkawka_cli linux_czkawka_cli
|
||||
mv target/release/krokiet linux_krokiet
|
||||
sed -i 's/^\(\[profile\.dev\.package.*\)/#\1/' Cargo.toml
|
||||
sed -i 's|^opt-level = 3 # OPT PACKAGES|#opt-level = 3 # OPT PACKAGES|' Cargo.toml
|
||||
|
||||
echo "VERS=debug" >> $GITHUB_ENV
|
||||
|
||||
cargo build
|
||||
mv target/debug/czkawka_cli linux_czkawka_cli_${{ env.ARCHNAME }}
|
||||
mv target/debug/czkawka_gui linux_czkawka_gui_${{ env.ARCHNAME }}
|
||||
mv target/debug/krokiet linux_krokiet_${{ env.ARCHNAME }}
|
||||
|
||||
cargo build --features "heif,libraw"
|
||||
mv target/debug/czkawka_cli linux_czkawka_cli_heif_raw_${{ env.ARCHNAME }}
|
||||
mv target/debug/czkawka_gui linux_czkawka_gui_heif_raw_${{ env.ARCHNAME }}
|
||||
mv target/debug/krokiet linux_krokiet_heif_raw_${{ env.ARCHNAME }}
|
||||
|
||||
- name: Store
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: all-${{ runner.os }}-${{ runner.arch }}-${{ env.VERS }}
|
||||
path: |
|
||||
linux_czkawka_cli_${{ env.ARCHNAME }}
|
||||
linux_czkawka_gui_${{ env.ARCHNAME }}
|
||||
linux_krokiet_${{ env.ARCHNAME }}
|
||||
linux_czkawka_cli_heif_raw_${{ env.ARCHNAME }}
|
||||
linux_czkawka_gui_heif_raw_${{ env.ARCHNAME }}
|
||||
linux_krokiet_heif_raw_${{ env.ARCHNAME }}
|
||||
|
||||
- name: Release
|
||||
if: ${{ github.ref == 'refs/heads/master' }}
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
tag_name: "Nightly"
|
||||
files: |
|
||||
linux_czkawka_cli
|
||||
linux_krokiet
|
||||
linux_czkawka_cli_${{ env.ARCHNAME }}
|
||||
linux_czkawka_gui_${{ env.ARCHNAME }}
|
||||
linux_krokiet_${{ env.ARCHNAME }}
|
||||
linux_czkawka_cli_heif_raw_${{ env.ARCHNAME }}
|
||||
linux_czkawka_gui_heif_raw_${{ env.ARCHNAME }}
|
||||
linux_krokiet_heif_raw_${{ env.ARCHNAME }}
|
||||
token: ${{ secrets.PAT_REPOSITORY }}
|
||||
|
||||
# GUI not works :(
|
||||
### MUSL CLI and Krokiet Release and Debug
|
||||
# GUI not works with MUSL :(
|
||||
# https://github.com/slint-ui/slint/issues/7586
|
||||
# https://github.com/rust-windowing/winit/issues/1818
|
||||
linux-cli-release-musl:
|
||||
if: ${{ github.ref == 'refs/heads/master' }}
|
||||
linux-cli-musl:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install basic libraries
|
||||
run: |
|
||||
sudo apt update || true; sudo apt install libheif-dev libraw-dev ffmpeg -y
|
||||
sudo apt install musl-tools -y
|
||||
sudo apt update || true; sudo apt install musl-tools -y
|
||||
|
||||
- name: Setup rust version
|
||||
run: |
|
||||
@@ -72,19 +109,28 @@ jobs:
|
||||
rustup target add x86_64-unknown-linux-musl
|
||||
|
||||
- name: Build Release
|
||||
if: ${{ github.ref == 'refs/heads/master' }}
|
||||
run: |
|
||||
sed -i 's/#lto = "thin"/lto = "thin"/g' Cargo.toml
|
||||
cargo build --release --bin czkawka_cli --target x86_64-unknown-linux-musl
|
||||
|
||||
mv target/x86_64-unknown-linux-musl/release/czkawka_cli linux_czkawka_cli_musl
|
||||
|
||||
- name: Build Debug
|
||||
if: ${{ github.ref != 'refs/heads/master' }}
|
||||
run: |
|
||||
sed -i 's/^\(\[profile\.dev\.package.*\)/#\1/' Cargo.toml
|
||||
sed -i 's|^opt-level = 3 # OPT PACKAGES|#opt-level = 3 # OPT PACKAGES|' Cargo.toml
|
||||
cargo build --bin czkawka_cli --target x86_64-unknown-linux-musl
|
||||
|
||||
mv target/x86_64-unknown-linux-musl/debug/czkawka_cli linux_czkawka_cli_musl
|
||||
|
||||
- name: Store Linux CLI
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: czkawka_cli-${{ runner.os }}-release-musl
|
||||
path: target/x86_64-unknown-linux-musl/release/czkawka_cli
|
||||
|
||||
- name: Prepare files to release
|
||||
run: |
|
||||
mv target/x86_64-unknown-linux-musl/release/czkawka_cli linux_czkawka_cli_musl
|
||||
name: czkawka_cli-${{ runner.os }}-musl
|
||||
path: |
|
||||
linux_czkawka_cli_musl
|
||||
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
@@ -94,7 +140,9 @@ jobs:
|
||||
linux_czkawka_cli_musl
|
||||
token: ${{ secrets.PAT_REPOSITORY }}
|
||||
|
||||
# TODO - also test czkawka_gui - this requires now gtk4:i386
|
||||
### Below, builds that do not produce artifacts
|
||||
|
||||
### 32 bit CLI and Krokiet Release and Debug - TODO test also gtk gui but it requires gtk4:i386 and also would be good to test libraw and heif
|
||||
linux-all-debug-32bit:
|
||||
if: ${{ github.ref != 'refs/heads/master' }}
|
||||
runs-on: ubuntu-22.04
|
||||
@@ -104,7 +152,7 @@ jobs:
|
||||
- name: Install basic libraries
|
||||
run: |
|
||||
sudo apt update || true
|
||||
sudo apt install libheif-dev libraw-dev ffmpeg libgtk-4-dev gcc-multilib -y
|
||||
sudo apt install gcc-multilib -y
|
||||
|
||||
- name: Setup rust version and target
|
||||
run: |
|
||||
@@ -117,120 +165,8 @@ jobs:
|
||||
sed -i 's|^opt-level = 3 # OPT PACKAGES|#opt-level = 3 # OPT PACKAGES|' Cargo.toml
|
||||
cargo build --target i686-unknown-linux-gnu --bin czkawka_cli --bin krokiet
|
||||
|
||||
linux-cli-krokiet-debug:
|
||||
if: ${{ github.ref != 'refs/heads/master' }}
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install basic libraries
|
||||
run: sudo apt update || true; sudo apt install libheif-dev libraw-dev ffmpeg -y
|
||||
|
||||
- name: Setup rust version
|
||||
run: rustup default 1.85.0
|
||||
|
||||
- name: Build Debug
|
||||
run: |
|
||||
sed -i 's/^\(\[profile\.dev\.package.*\)/#\1/' Cargo.toml
|
||||
sed -i 's|^opt-level = 3 # OPT PACKAGES|#opt-level = 3 # OPT PACKAGES|' Cargo.toml
|
||||
cargo build --bin czkawka_cli --bin krokiet
|
||||
|
||||
- name: Store Linux CLI Debug
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: czkawka_cli-${{ runner.os }}-debug
|
||||
path: target/debug/czkawka_cli
|
||||
|
||||
- name: Store Linux Krokiet Debug
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: krokiet-${{ runner.os }}-debug
|
||||
path: target/debug/krokiet
|
||||
|
||||
|
||||
linux-krokiet-gui-heif:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install basic libraries
|
||||
run: sudo apt update || true; sudo apt install libheif-dev libraw-dev -y
|
||||
|
||||
- name: Setup rust version
|
||||
run: rustup default 1.85.0
|
||||
|
||||
- name: Enable LTO
|
||||
if: ${{ github.ref == 'refs/heads/master' }}
|
||||
run: sed -i 's/#lto = "thin"/lto = "thin"/g' Cargo.toml
|
||||
|
||||
- name: Build Release Krokiet heif
|
||||
run: cargo build --release --bin krokiet --features "heif,libraw"
|
||||
|
||||
- name: Store Linux GUI Krokiet heif libraw
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: krokiet-${{ runner.os }}-heif-libraw
|
||||
path: target/release/krokiet
|
||||
|
||||
- name: Prepare files to release
|
||||
run: |
|
||||
mv target/release/krokiet linux_krokiet_heif_raw_gui
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
if: ${{ github.ref == 'refs/heads/master' }}
|
||||
with:
|
||||
tag_name: "Nightly"
|
||||
files: |
|
||||
linux_krokiet_heif_raw_gui
|
||||
token: ${{ secrets.PAT_REPOSITORY }}
|
||||
|
||||
linux-gui:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install basic libraries
|
||||
run: sudo apt update || true; sudo apt install libgtk-4-dev libheif-dev libraw-dev -y
|
||||
|
||||
- name: Setup rust version
|
||||
run: rustup default 1.85.0
|
||||
|
||||
- name: Enable LTO
|
||||
if: ${{ github.ref == 'refs/heads/master' }}
|
||||
run: sed -i 's/#lto = "thin"/lto = "thin"/g' Cargo.toml
|
||||
|
||||
- name: Build Release Heif Libraw
|
||||
run: cargo build --release --bin czkawka_gui --features "heif,libraw"
|
||||
|
||||
- name: Store Linux GUI Heif Libraw
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: czkawka_gui-${{ runner.os }}-heif-libraw
|
||||
path: target/release/czkawka_gui
|
||||
|
||||
- name: Build Release
|
||||
run: cargo build --release --bin czkawka_gui
|
||||
|
||||
- name: Store Linux GUI
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: czkawka_gui-${{ runner.os }}
|
||||
path: target/release/czkawka_gui
|
||||
|
||||
- name: Prepare files to release
|
||||
run: |
|
||||
mv target/release/czkawka_gui linux_czkawka_gui
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
if: ${{ github.ref == 'refs/heads/master' }}
|
||||
with:
|
||||
tag_name: "Nightly"
|
||||
files: |
|
||||
linux_czkawka_gui
|
||||
token: ${{ secrets.PAT_REPOSITORY }}
|
||||
|
||||
linux-stability:
|
||||
if: ${{ github.ref == 'refs/heads/master' }} # Runs only in master, because it is time consuming
|
||||
if: ${{ github.ref == 'refs/heads/master' }} # Runs only in master, because it is really time consumig
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -244,25 +180,25 @@ jobs:
|
||||
- name: Build packages
|
||||
run: |
|
||||
rm -rf target || true
|
||||
cargo build
|
||||
cargo build --features "heif,libraw"
|
||||
mv target/debug/czkawka_cli czkawka_cli_debug_1
|
||||
mv target/debug/czkawka_gui czkawka_gui_debug_1
|
||||
mv target/debug/krokiet krokiet_debug_1
|
||||
|
||||
rm -rf target || true
|
||||
cargo build --release
|
||||
cargo build --release --features "heif,libraw"
|
||||
mv target/release/czkawka_cli czkawka_cli_release_1
|
||||
mv target/release/czkawka_gui czkawka_gui_release_1
|
||||
mv target/release/krokiet krokiet_release_1
|
||||
|
||||
rm -rf target || true
|
||||
cargo build
|
||||
cargo build --features "heif,libraw"
|
||||
mv target/debug/czkawka_cli czkawka_cli_debug_2
|
||||
mv target/debug/czkawka_gui czkawka_gui_debug_2
|
||||
mv target/debug/krokiet krokiet_debug_2
|
||||
|
||||
rm -rf target || true
|
||||
cargo build --release
|
||||
cargo build --release --features "heif,libraw"
|
||||
mv target/release/czkawka_cli czkawka_cli_release_2
|
||||
mv target/release/czkawka_gui czkawka_gui_release_2
|
||||
mv target/release/krokiet krokiet_release_2
|
||||
@@ -282,6 +218,8 @@ jobs:
|
||||
|
||||
- name: Test
|
||||
run: |
|
||||
sed -i 's/^\(\[profile\.dev\.package.*\)/#\1/' Cargo.toml
|
||||
sed -i 's|^opt-level = 3 # OPT PACKAGES|#opt-level = 3 # OPT PACKAGES|' Cargo.toml
|
||||
xvfb-run cargo test
|
||||
|
||||
linux-regression-tests-on-minimal-rust-version:
|
||||
@@ -295,13 +233,11 @@ jobs:
|
||||
- name: Setup rust version
|
||||
run: rustup default 1.85.0
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cargo check
|
||||
cargo check --features "heif,libraw"
|
||||
|
||||
- name: Build test version
|
||||
run: cargo build --profile test --bin czkawka_cli
|
||||
run: |
|
||||
sed -i 's/^\(\[profile\.dev\.package.*\)/#\1/' Cargo.toml
|
||||
sed -i 's|^opt-level = 3 # OPT PACKAGES|#opt-level = 3 # OPT PACKAGES|' Cargo.toml
|
||||
cargo build --profile test --bin czkawka_cli
|
||||
|
||||
- name: Linux Regression Test
|
||||
run: |
|
||||
@@ -312,95 +248,3 @@ jobs:
|
||||
|
||||
ci_tester/target/release/ci_tester target/debug/czkawka_cli
|
||||
|
||||
linux-arm-release:
|
||||
if: ${{ github.ref == 'refs/heads/master' }}
|
||||
runs-on: ubuntu-22.04-arm
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install basic libraries
|
||||
run: sudo apt update || true; sudo apt install libgtk-4-dev libheif-dev libraw-dev -y
|
||||
|
||||
- name: Setup rust version
|
||||
run: rustup default 1.85.0
|
||||
|
||||
- name: Build Release
|
||||
run: |
|
||||
sed -i 's/#lto = "thin"/lto = "thin"/g' Cargo.toml
|
||||
cargo build --release
|
||||
|
||||
- name: Store cli
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: czkawka_cli-${{ runner.os }}-arm-release
|
||||
path: |
|
||||
target/release/czkawka_cli
|
||||
|
||||
- name: Store gui
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: czkawka_gui-${{ runner.os }}-arm-release
|
||||
path: |
|
||||
target/release/czkawka_gui
|
||||
|
||||
- name: Store krokiet
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: krokiet-${{ runner.os }}-arm-release
|
||||
path: |
|
||||
target/release/krokiet
|
||||
|
||||
- name: Prepare files to release
|
||||
run: |
|
||||
mv target/release/czkawka_cli linux_czkawka_cli_arm
|
||||
mv target/release/czkawka_gui linux_czkawka_gui_arm
|
||||
mv target/release/krokiet linux_krokiet_arm
|
||||
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
tag_name: "Nightly"
|
||||
files: |
|
||||
linux_czkawka_cli_arm
|
||||
linux_czkawka_gui_arm
|
||||
linux_krokiet_arm
|
||||
token: ${{ secrets.PAT_REPOSITORY }}
|
||||
|
||||
linux-arm-debug:
|
||||
if: ${{ github.ref != 'refs/heads/master' }}
|
||||
runs-on: ubuntu-22.04-arm
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install basic libraries
|
||||
run: sudo apt update || true; sudo apt install libgtk-4-dev libheif-dev libraw-dev -y
|
||||
|
||||
- name: Setup rust version
|
||||
run: rustup default 1.85.0
|
||||
|
||||
- name: Build Debug
|
||||
run: |
|
||||
sed -i 's/^\(\[profile\.dev\.package.*\)/#\1/' Cargo.toml
|
||||
sed -i 's|^opt-level = 3 # OPT PACKAGES|#opt-level = 3 # OPT PACKAGES|' Cargo.toml
|
||||
cargo build
|
||||
|
||||
- name: Store cli
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: czkawka_cli-${{ runner.os }}-arm-debug
|
||||
path: |
|
||||
target/debug/czkawka_cli
|
||||
|
||||
- name: Store gui
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: czkawka_gui-${{ runner.os }}-arm-debug
|
||||
path: |
|
||||
target/debug/czkawka_gui
|
||||
|
||||
- name: Store krokiet
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: krokiet-${{ runner.os }}-arm-debug
|
||||
path: |
|
||||
target/debug/krokiet
|
||||
|
243
.github/workflows/mac.yml
vendored
243
.github/workflows/mac.yml
vendored
@@ -9,198 +9,95 @@ env:
|
||||
CARGO_TERM_COLOR: always
|
||||
|
||||
jobs:
|
||||
macos_x86_64:
|
||||
runs-on: macos-13
|
||||
macos:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [macos-latest, macos-13]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup env
|
||||
run: |
|
||||
ARCHNAME=$([ "${{ runner.arch }}" = "ARM64" ] && echo arm64 || echo x86_64)
|
||||
echo "ARCHNAME=$ARCHNAME" >> $GITHUB_ENV
|
||||
|
||||
- name: Setup rust version
|
||||
run: rustup default 1.85.0
|
||||
|
||||
- name: Install Homebrew
|
||||
run: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
|
||||
- name: Install GTK4
|
||||
run: |
|
||||
brew link --overwrite python@3.13
|
||||
brew install rust gtk4 libheif || true
|
||||
brew link --overwrite python@3.13
|
||||
|
||||
- name: Setup rust version
|
||||
run: rustup default 1.85.0
|
||||
|
||||
- name: Enable LTO
|
||||
if: ${{ github.ref == 'refs/heads/master' }}
|
||||
run: sed -i '' 's/#lto = "thin"/lto = "thin"/g' Cargo.toml
|
||||
brew install gtk4 libheif libavif dav1d || true
|
||||
# brew link --overwrite python@3.13
|
||||
|
||||
- name: Build Release
|
||||
run: cargo build --release
|
||||
|
||||
- name: Store MacOS CLI
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: czkawka_cli-${{ runner.os }}-x86_64
|
||||
path: target/release/czkawka_cli
|
||||
|
||||
- name: Store MacOS GUI
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: czkawka_gui-${{ runner.os }}-x86_64
|
||||
path: target/release/czkawka_gui
|
||||
|
||||
- name: Store MacOS Krokiet
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: krokiet-${{ runner.os }}-x86_64
|
||||
path: target/release/krokiet
|
||||
|
||||
- name: Prepare files to release
|
||||
run: |
|
||||
mv target/release/czkawka_cli macos_czkawka_cli_x86_64
|
||||
mv target/release/czkawka_gui macos_czkawka_gui_x86_64
|
||||
mv target/release/krokiet macos_krokiet_x86_64
|
||||
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
if: ${{ github.ref == 'refs/heads/master' }}
|
||||
with:
|
||||
tag_name: "Nightly"
|
||||
files: |
|
||||
macos_czkawka_cli_x86_64
|
||||
macos_czkawka_gui_x86_64
|
||||
macos_krokiet_x86_64
|
||||
token: ${{ secrets.PAT_REPOSITORY }}
|
||||
|
||||
- name: Build Release Heif
|
||||
run: cargo build --release --features heif
|
||||
|
||||
- name: Store MacOS CLI Heif
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: czkawka_cli-${{ runner.os }}-heif-x86_64
|
||||
path: target/release/czkawka_cli
|
||||
|
||||
- name: Store MacOS GUI Heif
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: czkawka_gui-${{ runner.os }}-heif-x86_64
|
||||
path: target/release/czkawka_gui
|
||||
|
||||
- name: Store MacOS Krokiet Heif
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: krokiet-${{ runner.os }}-heif-x86_64
|
||||
path: target/release/krokiet
|
||||
|
||||
- name: Prepare files to release 2
|
||||
run: |
|
||||
mv target/release/czkawka_cli macos_czkawka_cli_heif_x86_64
|
||||
mv target/release/czkawka_gui macos_czkawka_gui_heif_x86_64
|
||||
mv target/release/krokiet macos_krokiet_heif_x86_64
|
||||
|
||||
- name: Release 2
|
||||
uses: softprops/action-gh-release@v2
|
||||
if: ${{ github.ref == 'refs/heads/master' }}
|
||||
with:
|
||||
tag_name: "Nightly"
|
||||
files: |
|
||||
macos_czkawka_cli_heif_x86_64
|
||||
macos_czkawka_gui_heif_x86_64
|
||||
macos_krokiet_heif_x86_64
|
||||
token: ${{ secrets.PAT_REPOSITORY }}
|
||||
|
||||
macos_arm:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install Homebrew
|
||||
run: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
|
||||
- name: Install GTK4
|
||||
run: |
|
||||
brew link --overwrite python@3.13
|
||||
brew install rust gtk4 libheif || true
|
||||
brew link --overwrite python@3.13
|
||||
|
||||
- name: Setup rust version
|
||||
run: rustup default 1.85.0
|
||||
|
||||
- name: Enable LTO
|
||||
if: ${{ github.ref == 'refs/heads/master' }}
|
||||
run: sed -i '' 's/#lto = "thin"/lto = "thin"/g' Cargo.toml
|
||||
|
||||
- name: Build Release
|
||||
run: cargo build --release
|
||||
|
||||
- name: Store MacOS CLI
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: czkawka_cli-${{ runner.os }}-arm
|
||||
path: target/release/czkawka_cli
|
||||
|
||||
- name: Store MacOS GUI
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: czkawka_gui-${{ runner.os }}-arm
|
||||
path: target/release/czkawka_gui
|
||||
|
||||
- name: Store MacOS Krokiet
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: krokiet-${{ runner.os }}-arm
|
||||
path: target/release/krokiet
|
||||
|
||||
- name: Prepare files to release
|
||||
run: |
|
||||
mv target/release/czkawka_cli macos_czkawka_cli_arm
|
||||
mv target/release/czkawka_gui macos_czkawka_gui_arm
|
||||
mv target/release/krokiet macos_krokiet_arm
|
||||
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
if: ${{ github.ref == 'refs/heads/master' }}
|
||||
with:
|
||||
tag_name: "Nightly"
|
||||
files: |
|
||||
macos_czkawka_cli_arm
|
||||
macos_czkawka_gui_arm
|
||||
macos_krokiet_arm
|
||||
token: ${{ secrets.PAT_REPOSITORY }}
|
||||
|
||||
- name: Build Release Heif
|
||||
run: |
|
||||
set -e
|
||||
sed -i '' 's/#lto = "thin"/lto = "thin"/g' Cargo.toml
|
||||
|
||||
echo "VERS=release" >> $GITHUB_ENV
|
||||
|
||||
export LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix)/lib
|
||||
cargo build --release --features heif
|
||||
|
||||
cargo build --release
|
||||
mv target/release/czkawka_cli macos_czkawka_cli_${{ env.ARCHNAME }}
|
||||
mv target/release/czkawka_gui macos_czkawka_gui_${{ env.ARCHNAME }}
|
||||
mv target/release/krokiet macos_krokiet_${{ env.ARCHNAME }}
|
||||
|
||||
cargo build --release --features "heif,libavif"
|
||||
mv target/release/czkawka_cli macos_czkawka_cli_heif_avif_${{ env.ARCHNAME }}
|
||||
mv target/release/czkawka_gui macos_czkawka_gui_heif_avif_${{ env.ARCHNAME }}
|
||||
mv target/release/krokiet macos_krokiet_heif_avif_${{ env.ARCHNAME }}
|
||||
|
||||
- name: Store MacOS CLI Heif
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: czkawka_cli-${{ runner.os }}-heif-arm
|
||||
path: target/release/czkawka_cli
|
||||
|
||||
- name: Store MacOS GUI Heif
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: czkawka_gui-${{ runner.os }}-heif-arm
|
||||
path: target/release/czkawka_gui
|
||||
|
||||
- name: Store MacOS Krokiet Heif
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: krokiet-${{ runner.os }}-heif-arm
|
||||
path: target/release/krokiet
|
||||
|
||||
- name: Prepare files to release 2
|
||||
- name: Build Debug
|
||||
if: ${{ github.ref != 'refs/heads/master' }}
|
||||
run: |
|
||||
mv target/release/czkawka_cli macos_czkawka_cli_heif_arm
|
||||
mv target/release/czkawka_gui macos_czkawka_gui_heif_arm
|
||||
mv target/release/krokiet macos_krokiet_heif_arm
|
||||
set -e
|
||||
sed -i '' 's/^\(\[profile\.dev\.package.*\)/#\1/' Cargo.toml
|
||||
sed -i '' 's|^opt-level = 3 # OPT PACKAGES|#opt-level = 3 # OPT PACKAGES|' Cargo.toml
|
||||
|
||||
echo "VERS=debug" >> $GITHUB_ENV
|
||||
|
||||
export LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix)/lib
|
||||
|
||||
cargo build
|
||||
mv target/debug/czkawka_cli macos_czkawka_cli_${{ env.ARCHNAME }}
|
||||
mv target/debug/czkawka_gui macos_czkawka_gui_${{ env.ARCHNAME }}
|
||||
mv target/debug/krokiet macos_krokiet_${{ env.ARCHNAME }}
|
||||
|
||||
cargo build --features "heif,libavif"
|
||||
mv target/debug/czkawka_cli macos_czkawka_cli_heif_avif_${{ env.ARCHNAME }}
|
||||
mv target/debug/czkawka_gui macos_czkawka_gui_heif_avif_${{ env.ARCHNAME }}
|
||||
mv target/debug/krokiet macos_krokiet_heif_avif_${{ env.ARCHNAME }}
|
||||
|
||||
- name: Release 2
|
||||
uses: softprops/action-gh-release@v2
|
||||
- name: Store MacOS
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: all-${{ runner.os }}-${{ runner.arch }}-${{ env.VERS }}
|
||||
path: |
|
||||
macos_czkawka_cli_heif_avif_${{ env.ARCHNAME }}
|
||||
macos_czkawka_gui_heif_avif_${{ env.ARCHNAME }}
|
||||
macos_krokiet_heif_avif_${{ env.ARCHNAME }}
|
||||
macos_czkawka_cli_${{ env.ARCHNAME }}
|
||||
macos_czkawka_gui_${{ env.ARCHNAME }}
|
||||
macos_krokiet_${{ env.ARCHNAME }}
|
||||
|
||||
- name: Release
|
||||
if: ${{ github.ref == 'refs/heads/master' }}
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
tag_name: "Nightly"
|
||||
files: |
|
||||
macos_czkawka_cli_heif_arm
|
||||
macos_czkawka_gui_heif_arm
|
||||
macos_krokiet_heif_arm
|
||||
macos_czkawka_cli_heif_avif_${{ env.ARCHNAME }}
|
||||
macos_czkawka_gui_heif_avif_${{ env.ARCHNAME }}
|
||||
macos_krokiet_heif_avif_${{ env.ARCHNAME }}
|
||||
macos_czkawka_cli_${{ env.ARCHNAME }}
|
||||
macos_czkawka_gui_${{ env.ARCHNAME }}
|
||||
macos_krokiet_${{ env.ARCHNAME }}
|
||||
token: ${{ secrets.PAT_REPOSITORY }}
|
||||
|
9
.github/workflows/quality.yml
vendored
9
.github/workflows/quality.yml
vendored
@@ -10,7 +10,7 @@ env:
|
||||
|
||||
jobs:
|
||||
quality:
|
||||
runs-on: ubuntu-24.04
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
@@ -32,10 +32,9 @@ jobs:
|
||||
run: cargo fmt --all -- --check
|
||||
|
||||
- name: Run clippy
|
||||
run: cargo clippy --all-targets --all-features -- -D warnings
|
||||
|
||||
- name: Run clippy
|
||||
run: cargo clippy -- -D warnings
|
||||
run: |
|
||||
cargo clippy --all-targets --all-features -- -D warnings
|
||||
cargo clippy --all-targets -- -D warnings
|
||||
|
||||
- name: Check tools
|
||||
run: |
|
||||
|
52
.github/workflows/windows.yml
vendored
52
.github/workflows/windows.yml
vendored
@@ -27,25 +27,29 @@ jobs:
|
||||
rustup default 1.85.0
|
||||
rustup target add x86_64-pc-windows-gnu
|
||||
|
||||
- name: Enable LTO
|
||||
- name: Compile Krokiet Release
|
||||
if: ${{ github.ref == 'refs/heads/master' }}
|
||||
run: sed -i 's/#lto = "thin"/lto = "thin"/g' Cargo.toml
|
||||
run: |
|
||||
sed -i 's/#lto = "thin"/lto = "thin"/g' Cargo.toml
|
||||
cargo build --release --target x86_64-pc-windows-gnu --bin krokiet
|
||||
mv target/x86_64-pc-windows-gnu/release/krokiet.exe windows_krokiet_on_linux.exe
|
||||
|
||||
- name: Compile Krokiet
|
||||
run: cargo build --release --target x86_64-pc-windows-gnu --bin krokiet
|
||||
- name: Compile Krokiet Debug
|
||||
if: ${{ github.ref != 'refs/heads/master' }}
|
||||
run: |
|
||||
sed -i 's/^\(\[profile\.dev\.package.*\)/#\1/' Cargo.toml
|
||||
sed -i 's|^opt-level = 3 # OPT PACKAGES|#opt-level = 3 # OPT PACKAGES|' Cargo.toml
|
||||
cargo build --target x86_64-pc-windows-gnu --bin krokiet
|
||||
mv target/x86_64-pc-windows-gnu/debug/krokiet.exe windows_krokiet_on_linux.exe
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: krokiet-windows-c-on-linux-${{ github.sha }}
|
||||
path: |
|
||||
target/x86_64-pc-windows-gnu/release/krokiet.exe
|
||||
./windows_krokiet_on_linux.exe
|
||||
if-no-files-found: error
|
||||
|
||||
- name: Prepare files to release
|
||||
run: |
|
||||
mv target/x86_64-pc-windows-gnu/release/krokiet.exe windows_krokiet_on_linux.exe
|
||||
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
if: ${{ github.ref == 'refs/heads/master' }}
|
||||
@@ -70,7 +74,8 @@ jobs:
|
||||
rustup default 1.85.0
|
||||
rustup target add x86_64-pc-windows-gnu
|
||||
|
||||
- name: Cross compile for Windows
|
||||
- name: Cross compile for Windows - Release
|
||||
if: ${{ github.ref == 'refs/heads/master' }}
|
||||
run: |
|
||||
source "$HOME/.cargo/env"
|
||||
#!/bin/bash
|
||||
@@ -81,6 +86,18 @@ jobs:
|
||||
cp target/x86_64-pc-windows-gnu/release/czkawka_gui.exe package/
|
||||
cp target/x86_64-pc-windows-gnu/release/czkawka_cli.exe package/
|
||||
|
||||
- name: Cross compile for Windows - Debug
|
||||
if: ${{ github.ref != 'refs/heads/master' }}
|
||||
run: |
|
||||
source "$HOME/.cargo/env"
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
export PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/share/pkgconfig:$MINGW_PREFIX/lib/pkgconfig/:/usr/x86_64-w64-mingw32/lib/pkgconfig/
|
||||
cargo build --target=x86_64-pc-windows-gnu --locked
|
||||
mkdir -p package
|
||||
cp target/x86_64-pc-windows-gnu/debug/czkawka_gui.exe package/
|
||||
cp target/x86_64-pc-windows-gnu/debug/czkawka_cli.exe package/
|
||||
|
||||
- name: Package
|
||||
run: |
|
||||
#!/bin/bash
|
||||
@@ -141,7 +158,8 @@ jobs:
|
||||
rustup default 1.85.0
|
||||
rustup target add x86_64-pc-windows-gnu
|
||||
|
||||
- name: Cross compile for Windows
|
||||
- name: Cross compile for Windows - Release
|
||||
if: ${{ github.ref == 'refs/heads/master' }}
|
||||
run: |
|
||||
source "$HOME/.cargo/env"
|
||||
#!/bin/bash
|
||||
@@ -152,6 +170,18 @@ jobs:
|
||||
cp target/x86_64-pc-windows-gnu/release/czkawka_gui.exe package/
|
||||
cp target/x86_64-pc-windows-gnu/release/czkawka_cli.exe package/
|
||||
|
||||
- name: Cross compile for Windows - Debug
|
||||
if: ${{ github.ref != 'refs/heads/master' }}
|
||||
run: |
|
||||
source "$HOME/.cargo/env"
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
export PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/share/pkgconfig:$MINGW_PREFIX/lib/pkgconfig/:/usr/x86_64-w64-mingw32/lib/pkgconfig/
|
||||
cargo build --target=x86_64-pc-windows-gnu --locked
|
||||
mkdir -p package
|
||||
cp target/x86_64-pc-windows-gnu/debug/czkawka_gui.exe package/
|
||||
cp target/x86_64-pc-windows-gnu/debug/czkawka_cli.exe package/
|
||||
|
||||
- name: Package
|
||||
run: |
|
||||
#!/bin/bash
|
||||
|
@@ -437,7 +437,7 @@ fn remove_test_dir() {
|
||||
fn run_with_good_status(str_command: &[&str], print_messages: bool) {
|
||||
let mut command = Command::new(str_command[0]);
|
||||
let mut com = command.args(&str_command[1..]);
|
||||
com.env("RUST_LOG", "error");
|
||||
com.env("ENABLE_TERMINAL_LOGS_IN_CLI", "1");
|
||||
com.env("RUST_BACKTRACE", "1");
|
||||
|
||||
if !print_messages {
|
||||
|
@@ -7,7 +7,7 @@ use std::sync::atomic::{AtomicBool, AtomicU64, AtomicUsize};
|
||||
use std::sync::{Arc, atomic};
|
||||
use std::thread::{JoinHandle, sleep};
|
||||
use std::time::{Duration, Instant};
|
||||
use std::{fs, io, thread};
|
||||
use std::{env, fs, io, thread};
|
||||
|
||||
use crossbeam_channel::Sender;
|
||||
use directories_next::ProjectDirs;
|
||||
@@ -175,7 +175,11 @@ fn filtering_messages(record: &Record) -> bool {
|
||||
pub fn setup_logger(disabled_terminal_printing: bool, app_name: &str) {
|
||||
log_panics::init();
|
||||
|
||||
let terminal_log_level = if disabled_terminal_printing { LevelFilter::Off } else { LevelFilter::Info };
|
||||
let terminal_log_level = if disabled_terminal_printing && ![Ok("1"), Ok("true")].contains(&env::var("ENABLE_TERMINAL_LOGS_IN_CLI").as_deref()) {
|
||||
LevelFilter::Off
|
||||
} else {
|
||||
LevelFilter::Info
|
||||
};
|
||||
let file_log_level = LevelFilter::Debug;
|
||||
|
||||
let term_config = ConfigBuilder::default()
|
||||
@@ -192,7 +196,7 @@ pub fn setup_logger(disabled_terminal_printing: bool, app_name: &str) {
|
||||
|
||||
let combined_logger = (|| {
|
||||
let Some(config_cache_path) = get_config_cache_path() else {
|
||||
println!("No config cache path configured, using default config folder");
|
||||
// println!("No config cache path configured, using default config folder");
|
||||
return None;
|
||||
};
|
||||
|
||||
@@ -206,7 +210,7 @@ pub fn setup_logger(disabled_terminal_printing: bool, app_name: &str) {
|
||||
None,
|
||||
);
|
||||
|
||||
let combined_logs: Vec<Box<dyn SharedLogger>> = if [Ok("1".to_string()), Ok("true".to_string())].contains(&std::env::var("DISABLE_FILE_LOGGING")) {
|
||||
let combined_logs: Vec<Box<dyn SharedLogger>> = if [Ok("1"), Ok("true")].contains(&env::var("DISABLE_FILE_LOGGING").as_deref()) {
|
||||
vec![TermLogger::new_from_config(term_config.clone())]
|
||||
} else {
|
||||
vec![TermLogger::new_from_config(term_config.clone()), WriteLogger::new(file_config, write_rotater)]
|
||||
@@ -219,6 +223,7 @@ pub fn setup_logger(disabled_terminal_printing: bool, app_name: &str) {
|
||||
|
||||
if combined_logger.is_none() {
|
||||
TermLogger::init(term_config, TerminalMode::Mixed, ColorChoice::Always).expect("Cannot initialize logger");
|
||||
info!("Logging to terminal only, file logging is disabled");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -334,7 +339,7 @@ pub fn set_number_of_threads(thread_number: usize) {
|
||||
}
|
||||
|
||||
pub const RAW_IMAGE_EXTENSIONS: &[&str] = &[
|
||||
"mrw", "arw", "srf", "sr2", "mef", "orf", "srw", "erf", "kdc", "kdc", "dcs", "rw2", "raf", "dcr", "dng", "pef", "crw", "iiq", "3fr", "nrw", "nef", "mos", "cr2", "ari", "cr3",
|
||||
"ari", "cr3", "cr2", "crw", "erf", "raf", "3fr", "kdc", "dcs", "dcr", "iiq", "mos", "mef", "mrw", "nef", "nrw", "orf", "rw2", "pef", "srw", "arw", "srf", "sr2",
|
||||
];
|
||||
|
||||
pub const JXL_IMAGE_EXTENSIONS: &[&str] = &["jxl"];
|
||||
|
@@ -5,6 +5,8 @@ use std::sync::atomic::AtomicBool;
|
||||
use std::time::Duration;
|
||||
|
||||
use crossbeam_channel::Sender;
|
||||
use humansize::{BINARY, format_size};
|
||||
use log::info;
|
||||
use rayon::prelude::*;
|
||||
|
||||
use crate::common::{WorkContinueStatus, remove_folder_if_contains_only_empty_folders};
|
||||
@@ -259,6 +261,7 @@ pub trait CommonData {
|
||||
progress_sender: Option<&Sender<ProgressData>>,
|
||||
delete_item_type: DeleteItemType<T>,
|
||||
) -> WorkContinueStatus {
|
||||
info!("Simple");
|
||||
let delete_results = self.delete_elements(stop_flag, progress_sender, delete_item_type);
|
||||
|
||||
if stop_flag.load(std::sync::atomic::Ordering::Relaxed) {
|
||||
@@ -284,6 +287,7 @@ pub trait CommonData {
|
||||
input.sort_unstable_by_key(if sorting_by_size { ResultEntry::get_size } else { ResultEntry::get_modified_date });
|
||||
input
|
||||
};
|
||||
info!("Advanced");
|
||||
|
||||
let delete_results = if delete_method == DeleteMethod::HardLink {
|
||||
let res = files_to_process
|
||||
@@ -335,6 +339,19 @@ pub trait CommonData {
|
||||
progress.bytes_to_check = delete_item_type.calculate_size_to_delete();
|
||||
progress.entries_to_check = delete_item_type.calculate_entries_to_delete();
|
||||
|
||||
let is_hardlinking = matches!(delete_item_type, DeleteItemType::HardlinkingFiles(_));
|
||||
|
||||
let msg_common = format!(
|
||||
"{} items, total size: {} bytes, dry_run: {dry_run}",
|
||||
progress.entries_to_check,
|
||||
format_size(progress.bytes_to_check, BINARY)
|
||||
);
|
||||
if is_hardlinking {
|
||||
info!("Hardlinking {msg_common}");
|
||||
} else {
|
||||
info!("Deleting {msg_common}");
|
||||
}
|
||||
|
||||
let delayed_sender = progress_sender.map(|e| DelayedSender::new(e.clone(), Duration::from_millis(200)));
|
||||
|
||||
let bytes_processed = Arc::new(std::sync::atomic::AtomicU64::new(0));
|
||||
@@ -417,8 +434,6 @@ pub trait CommonData {
|
||||
|
||||
let mut delete_result = DeleteResult::default();
|
||||
|
||||
let is_hardlinking = matches!(delete_item_type, DeleteItemType::HardlinkingFiles(_));
|
||||
|
||||
for (file_entry, delete_err) in res {
|
||||
if let Some(err) = delete_err {
|
||||
delete_result.errors.push(err);
|
||||
@@ -440,6 +455,15 @@ pub trait CommonData {
|
||||
}
|
||||
}
|
||||
|
||||
if !dry_run {
|
||||
info!(
|
||||
"{} items deleted, {} bytes gained, {} failed to delete",
|
||||
delete_result.deleted_files,
|
||||
format_size(delete_result.gained_bytes, BINARY),
|
||||
delete_result.failed_to_delete_files
|
||||
);
|
||||
}
|
||||
|
||||
delete_result
|
||||
}
|
||||
|
||||
|
@@ -858,7 +858,7 @@ fn read_single_file_tags(path: &str, mut music_entry: MusicEntry) -> Option<Musi
|
||||
};
|
||||
|
||||
let Ok(possible_tagged_file) = panic::catch_unwind(move || read_from(&mut file).ok()) else {
|
||||
let message = create_crash_message("Lofty", path, "https://github.com/image-rs/image/issues");
|
||||
let message = create_crash_message("Lofty", path, "https://github.com/Serial-ATA/lofty-rs");
|
||||
error!("{message}");
|
||||
return None;
|
||||
};
|
||||
|
@@ -98,7 +98,7 @@ cargo run --release --bin czkawka_gui --features "heif,libraw,libavif"
|
||||
|
||||
```shell
|
||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
brew install rustup gtk4 adwaita-icon-theme ffmpeg librsvg libheif libraw pkg-config
|
||||
brew install rustup gtk4 adwaita-icon-theme ffmpeg librsvg libheif libraw dav1d pkg-config
|
||||
rustup-init
|
||||
cargo run --release --bin czkawka_gui
|
||||
# Or with support for heif, libraw, libavif
|
||||
|
@@ -201,9 +201,10 @@ fn add_manually_directories(window_main: &Window, tree_view: &TreeView, excluded
|
||||
dialog.connect_response(move |dialog, response_type| {
|
||||
if response_type == ResponseType::Ok {
|
||||
for text in entry.text().split(';') {
|
||||
let mut text = text.trim().to_string();
|
||||
let text = text.trim().to_string();
|
||||
#[cfg(target_family = "windows")]
|
||||
let mut text = normalize_windows_path(text).to_string_lossy().to_string();
|
||||
let text = normalize_windows_path(text).to_string_lossy().to_string();
|
||||
let mut text = text;
|
||||
|
||||
remove_ending_slashes(&mut text);
|
||||
|
||||
|
Reference in New Issue
Block a user