Skip to content

build(deps): bump anyhow from 1.0.65 to 1.0.91 #7

build(deps): bump anyhow from 1.0.65 to 1.0.91

build(deps): bump anyhow from 1.0.65 to 1.0.91 #7

Workflow file for this run

name: Dexios Tests
on:
workflow_dispatch:
branches: [ master ]
pull_request:
branches: [ master ]
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Restore cargo cache
uses: actions/[email protected]
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-stable-${{ hashFiles('Cargo.lock') }}
- name: Build
uses: actions-rs/cargo@v1
with:
command: build
args: --release
- name: Strip
run: strip target/release/dexios
- name: Upload Binary as artifact
uses: actions/upload-artifact@v3
with:
name: dexios
path: target/release/dexios
retention-days: 1
stream-mode:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Retrieve Dexios
uses: actions/download-artifact@v3
with:
name: dexios
path: target/release/dexios
- name: Make Binary Executable
run: chmod +x /home/runner/work/dexios/dexios/target/release/dexios/dexios
- name: Generate test file
run: dd if=/dev/urandom of=100MB.bin bs=1M count=100
- name: Generate keyfile
run: dd if=/dev/urandom of=keyfile bs=1 count=4096
- name: Encrypt in stream mode (XChaCha20-Poly1305)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -eHfk keyfile 100MB.bin 100MB.enc
- name: Decrypt in stream mode (XChaCha20-Poly1305)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -dHfk keyfile 100MB.enc 100MB.bin
- name: Generate test file
run: dd if=/dev/urandom of=100MB.bin bs=1M count=100
- name: Encrypt in stream mode (AES-256-GCM)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -eHfk keyfile --aes 100MB.bin 100MB.enc
- name: Decrypt in stream mode (AES-256-GCM)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -dHfk keyfile 100MB.enc 100MB.bin
header-tests:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Retrieve Dexios
uses: actions/download-artifact@v3
with:
name: dexios
path: target/release/dexios
- name: Make Binary Executable
run: chmod +x /home/runner/work/dexios/dexios/target/release/dexios/dexios
- name: Generate test file
run: dd if=/dev/urandom of=100MB.bin bs=1M count=100
- name: Generate keyfile
run: dd if=/dev/urandom of=keyfile bs=1 count=4096
- name: Encrypt in stream mode (XChaCha20-Poly1305)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -eHfk keyfile 100MB.bin 100MB.enc
- name: Dump Header
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios header dump 100MB.enc 100MB.enc.header
- name: Strip Header
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios header strip 100MB.enc
- name: Restore Header
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios header restore 100MB.enc.header 100MB.enc
- name: Decrypt in stream mode (XChaCha20-Poly1305)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -dHfk keyfile 100MB.enc 100MB.bin
- name: Strip Header
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios header strip 100MB.enc
- name: Decrypt in stream mode with detached header (XChaCha20-Poly1305)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -dHfk keyfile --header 100MB.enc.header 100MB.enc 100MB.bin
- name: Encrypt in stream mode to detached header (XChaCha20-Poly1305)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -eHfk keyfile --header 100MB.header 100MB.bin 100MB.enc
- name: Decrypt in stream mode with detached header (XChaCha20-Poly1305)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -dHfk keyfile --header 100MB.header 100MB.enc 100MB.bin
hash-standalone-mode:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Retrieve Dexios
uses: actions/download-artifact@v3
with:
name: dexios
path: target/release/dexios
- name: Make Binary Executable
run: chmod +x /home/runner/work/dexios/dexios/target/release/dexios/dexios
- name: Generate test file
run: dd if=/dev/urandom of=100MB.bin bs=1M count=100
- name: Generate keyfile
run: dd if=/dev/urandom of=keyfile bs=1 count=4096
- name: Encrypt in stream mode (XChaCha20-Poly1305)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -eHfk keyfile 100MB.bin 100MB.enc
- name: Decrypt in stream mode (XChaCha20-Poly1305)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -dHfk keyfile 100MB.enc 100MB.bin
- name: Standalone Hash Mode (with output hashes above to confirm it works)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios hash 100MB.enc
erase:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Retrieve Dexios
uses: actions/download-artifact@v3
with:
name: dexios
path: target/release/dexios
- name: Make Binary Executable
run: chmod +x /home/runner/work/dexios/dexios/target/release/dexios/dexios
- name: Generate test file
run: dd if=/dev/urandom of=100MB.bin bs=1M count=100
- name: Erase file (standalone mode)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios erase 100MB.bin
large-file:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Retrieve Dexios
uses: actions/download-artifact@v3
with:
name: dexios
path: target/release/dexios
- name: Make Binary Executable
run: chmod +x /home/runner/work/dexios/dexios/target/release/dexios/dexios
- name: Generate test file
run: dd if=/dev/urandom of=1GB.bin bs=1M count=1000
- name: Generate keyfile
run: dd if=/dev/urandom of=keyfile bs=1 count=4096
- name: Encrypt 1GB file (XChaCha20-Poly1305)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -eHfk keyfile 1GB.bin 1GB.enc
- name: Decrypt 1GB file (XChaCha20-Poly1305)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -dHfk keyfile 1GB.enc 1GB.bin
- name: Generate test file
run: dd if=/dev/urandom of=1GB.bin bs=1M count=1000
- name: Encrypt 1GB file (AES-256-GCM)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -eHfk keyfile --aes 1GB.bin 1GB.enc
- name: Decrypt 1GB file (AES-256-GCM)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -dHfk keyfile 1GB.enc 1GB.bin
small-file:
needs: build
runs-on: ubuntu-latest
steps:
- name: Retrieve Dexios
uses: actions/download-artifact@v3
with:
name: dexios
path: target/release/dexios
- name: Make Binary Executable
run: chmod +x /home/runner/work/dexios/dexios/target/release/dexios/dexios
- name: Generate test file
run: dd if=/dev/urandom of=1KB.bin bs=1 count=1024
- name: Generate keyfile
run: dd if=/dev/urandom of=keyfile bs=1 count=4096
- name: Encrypt 1KB file (XChaCha20-Poly1305)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -eHfk keyfile 1KB.bin 1KB.enc
- name: Decrypt 1KB file (XChaCha20-Poly1305)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -dHfk keyfile 1KB.enc 1KB.bin
- name: Generate test file
run: dd if=/dev/urandom of=1KB.bin bs=1 count=1024
- name: Encrypt 1KB file (AES-256-GCM)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -eHfk keyfile --aes 1KB.bin 1KB.enc
- name: Decrypt 1KB file (AES-256-GCM)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -dHfk keyfile 1KB.enc 1KB.bin
pack:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Retrieve Dexios
uses: actions/download-artifact@v3
with:
name: dexios
path: target/release/dexios
- name: Make Binary Executable
run: chmod +x /home/runner/work/dexios/dexios/target/release/dexios/dexios
- name: Make Directory
run: mkdir test
- name: Generate test files
run: dd if=/dev/urandom of=test/1.bin bs=1M count=10 && dd if=/dev/urandom of=test/2.bin bs=1M count=10 && dd if=/dev/urandom of=test/3.bin bs=1M count=10 && dd if=/dev/urandom of=test/4.bin bs=1M count=10
- name: Generate keyfile
run: dd if=/dev/urandom of=keyfile bs=1 count=4096
- name: Pack+Encrypt test directory (XChaCha20-Poly1305)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios pack -fk keyfile test/ output.zip
- name: Remove Directory
run: rm -rf test/
- name: Decrypt+Unpack archive (XChaCha20-Poly1305)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios unpack -fk keyfile output.zip .
- name: List files in directory
run: ls -lla test/
key-add:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Retrieve Dexios
uses: actions/download-artifact@v3
with:
name: dexios
path: target/release/dexios
- name: Make Binary Executable
run: chmod +x /home/runner/work/dexios/dexios/target/release/dexios/dexios
- name: Generate test file
run: dd if=/dev/urandom of=100MB.bin bs=1M count=100
- name: Generate keyfile
run: dd if=/dev/urandom of=keyfile bs=1 count=4096
- name: Generate keyfile for test
run: dd if=/dev/urandom of=keyfile-new bs=1 count=4096
- name: Encrypt in stream mode (XChaCha20-Poly1305)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -eHfk keyfile 100MB.bin 100MB.enc
- name: Add new key (from new keyfile)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios key add -k keyfile -n keyfile-new 100MB.enc
- name: Decrypt in stream mode with added key (XChaCha20-Poly1305)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -dHfk keyfile-new 100MB.enc 100MB.bin
- name: Show header details
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios header details 100MB.enc
key-del:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Retrieve Dexios
uses: actions/download-artifact@v3
with:
name: dexios
path: target/release/dexios
- name: Make Binary Executable
run: chmod +x /home/runner/work/dexios/dexios/target/release/dexios/dexios
- name: Generate test file
run: dd if=/dev/urandom of=100MB.bin bs=1M count=100
- name: Generate keyfile
run: dd if=/dev/urandom of=keyfile bs=1 count=4096
- name: Generate keyfile for test
run: dd if=/dev/urandom of=keyfile-new bs=1 count=4096
- name: Encrypt in stream mode (XChaCha20-Poly1305)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -eHfk keyfile 100MB.bin 100MB.enc
- name: Add new key (from new keyfile)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios key add -k keyfile -n keyfile-new 100MB.enc
- name: Delete the original key
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios key del -k keyfile 100MB.enc
- name: Decrypt in stream mode with added key (XChaCha20-Poly1305)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -dHfk keyfile-new 100MB.enc 100MB.bin
- name: Show header details
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios header details 100MB.enc
key-change:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Retrieve Dexios
uses: actions/download-artifact@v3
with:
name: dexios
path: target/release/dexios
- name: Make Binary Executable
run: chmod +x /home/runner/work/dexios/dexios/target/release/dexios/dexios
- name: Generate test file
run: dd if=/dev/urandom of=100MB.bin bs=1M count=100
- name: Generate keyfile
run: dd if=/dev/urandom of=keyfile bs=1 count=4096
- name: Generate keyfile for test
run: dd if=/dev/urandom of=keyfile-new bs=1 count=4096
- name: Encrypt in stream mode (XChaCha20-Poly1305)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -eHfk keyfile 100MB.bin 100MB.enc
- name: Change the key (from new keyfile)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios key change -k keyfile -n keyfile-new 100MB.enc
- name: Decrypt in stream mode with changed key (XChaCha20-Poly1305)
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios -dHfk keyfile-new 100MB.enc 100MB.bin
- name: Show header details
run: /home/runner/work/dexios/dexios/target/release/dexios/dexios header details 100MB.enc