name: 🐧 Linux on: [ push, pull_request ] env: CARGO_TERM_COLOR: always jobs: linux-cli: strategy: matrix: toolchain: [ stable ] type: [ release ] runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: toolchain: ${{ matrix.toolchain }} override: true - uses: actions/cache@v2 with: path: | target key: linux-cli-${{github.ref}}-${{github.sha}} restore-keys: | linux-cli-${{github.ref}}-${{github.sha}} - name: Install basic libraries run: sudo apt-get update; sudo apt install libgtk-3-dev -y - name: Build CLI Debug run: cargo build --bin czkawka_cli env: CARGO_INCREMENTAL: 0 RUSTFLAGS: "-C debuginfo=0 -D warnings" if: ${{ matrix.type == 'debug'}} - name: Build CLI Release run: cargo build --release --bin czkawka_cli env: CARGO_INCREMENTAL: 0 RUSTFLAGS: "-C debuginfo=0 -D warnings" if: ${{ matrix.type == 'release'}} - name: Store Linux CLI uses: actions/upload-artifact@v2 with: name: czkawka_cli-${{ runner.os }}-${{ matrix.toolchain }} path: target/release/czkawka_cli if: ${{ matrix.type == 'release' }} # Duplicate finder checks included and excluded directories # Others are just check delete files number - name: Linux Regression Test run: | wget https://github.com/qarmin/czkawka/releases/download/1.1.0/TestSuite.zip unzip TestSuite.zip -d TestSuite python3 misc/check_results.py TestSuite 15 8 target/release/czkawka_cli dup -d "$(pwd)/TestSuite" -D aen python3 misc/check_results.py TestSuite 7 8 rm -rf TestSuite unzip TestSuite.zip -d TestSuite target/release/czkawka_cli dup -d "$(pwd)/TestSuite" -D aen python3 misc/check_results.py TestSuite 7 8 rm -rf TestSuite unzip TestSuite.zip -d TestSuite target/release/czkawka_cli dup -d "$(pwd)/TestSuite" -x TEXT -D aeo python3 misc/check_results.py TestSuite 14 8 rm -rf TestSuite unzip TestSuite.zip -d TestSuite target/release/czkawka_cli dup -d "$(pwd)/TestSuite" -e "$(pwd)/TestSuite/SubFolder" -D aeo python3 misc/check_results.py TestSuite 13 8 rm -rf TestSuite unzip TestSuite.zip -d TestSuite target/release/czkawka_cli dup -d "$(pwd)/TestSuite" -m 1500 -D aeo python3 misc/check_results.py TestSuite 8 8 rm -rf TestSuite unzip TestSuite.zip -d TestSuite target/release/czkawka_cli dup -d "$(pwd)/TestSuite" -R python3 misc/check_results.py TestSuite 15 8 target/release/czkawka_cli dup -d "$(pwd)/TestSuite" -R -D aeo python3 misc/check_results.py TestSuite 13 8 target/release/czkawka_cli big -d "$(pwd)/TestSuite" rm -rf TestSuite unzip TestSuite.zip -d TestSuite target/release/czkawka_cli empty-files -d "$(pwd)/TestSuite" python3 misc/check_results.py TestSuite 15 8 target/release/czkawka_cli empty-files -d "$(pwd)/TestSuite" -D python3 misc/check_results.py TestSuite 13 8 rm -rf TestSuite unzip TestSuite.zip -d TestSuite target/release/czkawka_cli empty-folders -d "$(pwd)/TestSuite" python3 misc/check_results.py TestSuite 15 8 target/release/czkawka_cli empty-folders -d "$(pwd)/TestSuite" -D python3 misc/check_results.py TestSuite 15 2 rm -rf TestSuite unzip TestSuite.zip -d TestSuite target/release/czkawka_cli temp -d "$(pwd)/TestSuite" python3 misc/check_results.py TestSuite 15 8 target/release/czkawka_cli temp -d "$(pwd)/TestSuite" -D python3 misc/check_results.py TestSuite 14 8 if: ${{ matrix.type == 'release' }} linux-gui: strategy: matrix: toolchain: [ stable ] type: [ release ] runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: toolchain: ${{ matrix.toolchain }} override: true - uses: actions/cache@v2 with: path: | target key: linux-gui-${{github.ref}}-${{github.sha}} restore-keys: | linux-gui-${{github.ref}}-${{github.sha}} - name: Install Gtk, Mingw, unzip, zip and wget run: sudo apt-get update; sudo apt install libgtk-3-dev -y - name: Build GUI Debug run: cargo build --bin czkawka_gui env: CARGO_INCREMENTAL: 0 RUSTFLAGS: "-C debuginfo=0 -D warnings" if: ${{ matrix.type == 'debug'}} - name: Build GUI Release run: cargo build --release --bin czkawka_gui env: CARGO_INCREMENTAL: 0 RUSTFLAGS: "-C debuginfo=0 -D warnings" if: ${{ matrix.type == 'release'}} - name: Store Linux GUI uses: actions/upload-artifact@v2 with: name: czkawka_gui-${{ runner.os }}-${{ matrix.toolchain }} path: target/release/czkawka_gui if: ${{ matrix.type == 'release' }} linux-gui-orbtk: strategy: matrix: toolchain: [ stable ] type: [ release ] runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: toolchain: ${{ matrix.toolchain }} override: true - uses: actions/cache@v2 with: path: | target key: linux-gui-orbtk-${{github.ref}}-${{github.sha}} restore-keys: | linux-gui-orbtk-${{github.ref}}-${{github.sha}} - name: Install basic libraries run: sudo apt-get update; sudo apt install libgtk-3-dev -y - name: Build GUI Orbtk Debug run: cargo build --bin czkawka_gui_orbtk env: CARGO_INCREMENTAL: 0 RUSTFLAGS: "-C debuginfo=0 -D warnings" if: ${{ matrix.type == 'debug'}} - name: Build GUI Orbtk Release run: cargo build --release --bin czkawka_gui_orbtk env: CARGO_INCREMENTAL: 0 RUSTFLAGS: "-C debuginfo=0 -D warnings" if: ${{ matrix.type == 'release'}} - name: Store Linux GUI Orbtk uses: actions/upload-artifact@v2 with: name: czkawka_gui_orbtk-${{ runner.os }}-${{ matrix.toolchain }} path: target/release/czkawka_gui_orbtk if: ${{ matrix.type == 'release' }}