Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions .github/workflows/deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,11 @@ jobs:

runs-on: ubuntu-latest

permissions:
contents: read
id-token: write
attestations: write

Comment thread
KSXGitHub marked this conversation as resolved.
strategy:
fail-fast: true
matrix:
Expand All @@ -90,6 +95,11 @@ jobs:
- name: Strip all debug symbols
run: strip --strip-all target/${{ matrix.target }}/release/pdu

- name: Attest build provenance
uses: actions/attest-build-provenance@v2
with:
subject-path: target/${{ matrix.target }}/release/pdu

- name: Upload build artifact
uses: actions/upload-artifact@v7
with:
Expand All @@ -101,6 +111,11 @@ jobs:

runs-on: macos-latest

permissions:
contents: read
id-token: write
attestations: write

Comment thread
KSXGitHub marked this conversation as resolved.
strategy:
fail-fast: true
matrix:
Expand All @@ -126,6 +141,11 @@ jobs:
- name: Strip all debug symbols
run: strip target/${{ matrix.target }}/release/pdu

- name: Attest build provenance
uses: actions/attest-build-provenance@v2
with:
subject-path: target/${{ matrix.target }}/release/pdu

- name: Upload build artifact
uses: actions/upload-artifact@v7
with:
Expand All @@ -137,6 +157,11 @@ jobs:

runs-on: windows-latest

permissions:
contents: read
id-token: write
attestations: write

Comment thread
KSXGitHub marked this conversation as resolved.
strategy:
fail-fast: true
matrix:
Expand All @@ -161,6 +186,11 @@ jobs:
- name: Build
run: cargo build --target ${{ matrix.target }} --release --all-features

- name: Attest build provenance
uses: actions/attest-build-provenance@v2
with:
subject-path: target/${{ matrix.target }}/release/pdu.exe

- name: Upload build artifact
uses: actions/upload-artifact@v7
with:
Expand Down
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,8 @@ Beware that the structure of the JSON tree differs depending on the number of fi

Go to the [GitHub Release Page](https://github.com/KSXGitHub/parallel-disk-usage/releases) and download a binary.

Starting with version 0.22.1, every executable published to GitHub Releases ships with a build provenance attestation, so you can cryptographically verify that the binary was produced by this repository's deployment workflow rather than uploaded by hand. See [_How can I trust the release binaries?_](#how-can-i-trust-the-release-binaries) for the verification command.
Comment thread
KSXGitHub marked this conversation as resolved.
Outdated

#### From [crates.io](https://crates.io)

**Prerequisites:**
Expand Down Expand Up @@ -183,6 +185,20 @@ No. "Vibe coding" means letting AI do everything without human involvement. This

Using AI also does not mean poor quality. On the contrary, AI reviews have helped detect previously undetected bugs.

### How can I trust the release binaries?

Starting with version 0.22.1, every executable published to [GitHub Releases](https://github.com/KSXGitHub/parallel-disk-usage/releases) is accompanied by a [build provenance attestation](https://docs.github.com/en/actions/how-tos/secure-your-work/use-artifact-attestations/use-artifact-attestations). The attestation is cryptographically signed by [Sigstore](https://www.sigstore.dev/) — a public-good signing service operated by the Linux Foundation — and records that the binary was built by this repository's GitHub Actions deployment workflow from a specific commit. Because the signing happens inside GitHub's infrastructure via OIDC and the signatures are logged to Sigstore's public transparency log, the guarantee does not depend on trusting the maintainer's personal word: any tampered or manually uploaded binary would fail verification.
Comment thread
KSXGitHub marked this conversation as resolved.

Comment thread
KSXGitHub marked this conversation as resolved.
To verify a downloaded binary, install the [GitHub CLI](https://cli.github.com/) and run:

```sh
gh attestation verify downloaded-pdu --repo KSXGitHub/parallel-disk-usage
```

(Replace `downloaded-pdu` with the filename you downloaded.) A successful run prints the signer workflow and confirms that the file's SHA-256 matches the attested digest. All attestations for this repository can also be browsed at the [Attestations page](https://github.com/KSXGitHub/parallel-disk-usage/attestations).

Binaries from releases older than 0.22.1 are not attested.

## Similar programs

* **CLI:**
Expand Down