@@ -1,28 +0,0 @@
|
|||||||
name: CI
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [ main, master ]
|
|
||||||
pull_request:
|
|
||||||
branches: [ main, master ]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
check:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- uses: dtolnay/rust-toolchain@stable
|
|
||||||
with:
|
|
||||||
components: clippy, rustfmt
|
|
||||||
- name: Format check
|
|
||||||
run: cargo fmt --check
|
|
||||||
- name: Check
|
|
||||||
run: cargo check
|
|
||||||
- name: Test
|
|
||||||
run: cargo test --all-features
|
|
||||||
- name: Clippy
|
|
||||||
run: cargo clippy --all-targets --all-features -- -D warnings
|
|
||||||
- name: Build release
|
|
||||||
run: cargo build --release
|
|
||||||
- name: Verify binary
|
|
||||||
run: ./target/release/wipe --help
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
name: Release
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- 'v*'
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
target: [x86_64-unknown-linux-gnu]
|
|
||||||
# aarch64-unknown-linux-gnu can be added when cross compilation is stable
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- uses: dtolnay/rust-toolchain@stable
|
|
||||||
- name: Install target
|
|
||||||
run: rustup target add ${{ matrix.target }}
|
|
||||||
- name: Build release
|
|
||||||
run: cargo build --release --target ${{ matrix.target }}
|
|
||||||
- name: Package binary
|
|
||||||
run: |
|
|
||||||
mkdir -p dist
|
|
||||||
cp target/${{ matrix.target }}/release/wipe dist/wipe-${{ matrix.target }}
|
|
||||||
cp target/${{ matrix.target }}/release/wipe dist/wipe
|
|
||||||
tar -czf dist/wipe-${{ matrix.target }}.tar.gz -C dist wipe-${{ matrix.target }}
|
|
||||||
sha256sum dist/* > dist/SHA256SUMS
|
|
||||||
ls -lh dist/
|
|
||||||
- name: Create Release
|
|
||||||
if: startsWith(github.ref, 'refs/tags/')
|
|
||||||
uses: softprops/action-gh-release@v2
|
|
||||||
with:
|
|
||||||
files: dist/*
|
|
||||||
generate_release_notes: true
|
|
||||||
@@ -418,7 +418,13 @@ fn get_size_via_ioctl(path: &Path) -> Result<u64, WipeError> {
|
|||||||
let mut size: u64 = 0;
|
let mut size: u64 = 0;
|
||||||
// BLKGETSIZE64 = _IOR(0x12,114,size_t) => 0x80081272 on x86_64
|
// BLKGETSIZE64 = _IOR(0x12,114,size_t) => 0x80081272 on x86_64
|
||||||
const BLKGETSIZE64: libc::c_ulong = 0x80081272;
|
const BLKGETSIZE64: libc::c_ulong = 0x80081272;
|
||||||
let ret = unsafe { libc::ioctl(fd, BLKGETSIZE64 as _, &mut size as *mut u64 as *mut libc::c_void) };
|
let ret = unsafe {
|
||||||
|
libc::ioctl(
|
||||||
|
fd,
|
||||||
|
BLKGETSIZE64 as _,
|
||||||
|
&mut size as *mut u64 as *mut libc::c_void,
|
||||||
|
)
|
||||||
|
};
|
||||||
if ret == 0 {
|
if ret == 0 {
|
||||||
Ok(size)
|
Ok(size)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user