Skip to content
Open
Show file tree
Hide file tree
Changes from all 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
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ jobs:
grcov . --output-type lcov --output-path "${COVERAGE_REPORT_FILE}" --binary-path "${COVERAGE_REPORT_DIR}" --branch
echo "report=${COVERAGE_REPORT_FILE}" >> $GITHUB_OUTPUT
- name: Upload coverage results (to Codecov.io)
uses: codecov/codecov-action@v5
uses: codecov/codecov-action@v6
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ${{ steps.coverage.outputs.report }}
Expand Down
34 changes: 28 additions & 6 deletions .github/workflows/codspeed.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# spell-checker:ignore backtest moonrepo

name: CodSpeed

on:
Expand All @@ -17,8 +19,19 @@ jobs:
codspeed:
name: Run benchmarks
runs-on: ubuntu-latest
env:
CARGO_INCREMENTAL: 0
strategy:
matrix:
type: [simulation, memory]
package: [
uu_cmp,
uu_diff,
]
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
persist-credentials: false

- name: Setup rust toolchain, cache and cargo-codspeed binary
uses: moonrepo/setup-rust@v1
Expand All @@ -27,11 +40,20 @@ jobs:
cache-target: release
bins: cargo-codspeed

- name: Build the benchmark target(s)
run: cargo codspeed build -m simulation
- name: Build benchmarks for ${{ matrix.package }} (${{ matrix.type }})
shell: bash
run: |
echo "Building ${{ matrix.type }} benchmarks for ${{ matrix.package }}"
cargo codspeed build -m ${{ matrix.type }} -p ${{ matrix.package }}

- name: Run the benchmarks
- name: Run ${{ matrix.type }} benchmarks for ${{ matrix.package }}
uses: CodSpeedHQ/action@v4
env:
CODSPEED_LOG: debug
with:
mode: simulation
run: cargo codspeed run
mode: ${{ matrix.type }}
run: |
echo "Running ${{ matrix.type }} benchmarks for ${{ matrix.package }}"
cargo codspeed run -p ${{ matrix.package }} > /dev/null
token: ${{ secrets.CODSPEED_TOKEN }}

34 changes: 17 additions & 17 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,17 +56,17 @@ jobs:
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
persist-credentials: false
submodules: recursive
- name: Install dist
# we specify bash to get pipefail; it guards against the `curl` command
# failing. otherwise `sh` won't catch that `curl` returned non-0
shell: bash
run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.30.3/cargo-dist-installer.sh | sh"
run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.31.0/cargo-dist-installer.sh | sh"
- name: Cache dist
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: cargo-dist-cache
path: ~/.cargo/bin/dist
Expand All @@ -82,7 +82,7 @@ jobs:
cat plan-dist-manifest.json
echo "manifest=$(jq -c "." plan-dist-manifest.json)" >> "$GITHUB_OUTPUT"
- name: "Upload dist-manifest.json"
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: artifacts-plan-dist-manifest
path: plan-dist-manifest.json
Expand Down Expand Up @@ -116,7 +116,7 @@ jobs:
- name: enable windows longpaths
run: |
git config --global core.longpaths true
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
persist-credentials: false
submodules: recursive
Expand All @@ -131,7 +131,7 @@ jobs:
run: ${{ matrix.install_dist.run }}
# Get the dist-manifest
- name: Fetch local artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
pattern: artifacts-*
path: target/distrib/
Expand All @@ -158,7 +158,7 @@ jobs:

cp dist-manifest.json "$BUILD_MANIFEST_NAME"
- name: "Upload artifacts"
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: artifacts-build-local-${{ join(matrix.targets, '_') }}
path: |
Expand All @@ -175,19 +175,19 @@ jobs:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BUILD_MANIFEST_NAME: target/distrib/global-dist-manifest.json
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
persist-credentials: false
submodules: recursive
- name: Install cached dist
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: cargo-dist-cache
path: ~/.cargo/bin/
- run: chmod +x ~/.cargo/bin/dist
# Get all the local artifacts for the global tasks to use (for e.g. checksums)
- name: Fetch local artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
pattern: artifacts-*
path: target/distrib/
Expand All @@ -205,7 +205,7 @@ jobs:

cp dist-manifest.json "$BUILD_MANIFEST_NAME"
- name: "Upload artifacts"
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: artifacts-build-global
path: |
Expand All @@ -225,19 +225,19 @@ jobs:
outputs:
val: ${{ steps.host.outputs.manifest }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
persist-credentials: false
submodules: recursive
- name: Install cached dist
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: cargo-dist-cache
path: ~/.cargo/bin/
- run: chmod +x ~/.cargo/bin/dist
# Fetch artifacts from scratch-storage
- name: Fetch artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
pattern: artifacts-*
path: target/distrib/
Expand All @@ -250,14 +250,14 @@ jobs:
cat dist-manifest.json
echo "manifest=$(jq -c "." dist-manifest.json)" >> "$GITHUB_OUTPUT"
- name: "Upload dist-manifest.json"
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
# Overwrite the previous copy
name: artifacts-dist-manifest
path: dist-manifest.json
# Create a GitHub Release while uploading all files to it
- name: "Download GitHub Artifacts"
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
pattern: artifacts-*
path: artifacts
Expand Down Expand Up @@ -290,7 +290,7 @@ jobs:
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
persist-credentials: false
submodules: recursive
62 changes: 62 additions & 0 deletions .vscode/cSpell.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
// `cspell` settings
// spell-checker:ignore oranda
{
// version of the setting file
"version": "0.2",
// spelling language
"language": "en",
// custom dictionaries
"dictionaries": [
"acronyms+names",
"jargon",
"people",
"shell",
"workspace"
],
"dictionaryDefinitions": [
{
"name": "acronyms+names",
"path": "./cspell.dictionaries/acronyms+names.wordlist.txt"
},
{
"name": "jargon",
"path": "./cspell.dictionaries/jargon.wordlist.txt"
},
{
"name": "people",
"path": "./cspell.dictionaries/people.wordlist.txt"
},
{
"name": "shell",
"path": "./cspell.dictionaries/shell.wordlist.txt"
},
{
"name": "workspace",
"path": "./cspell.dictionaries/workspace.wordlist.txt"
}
],
// files to ignore (globs supported)
"ignorePaths": [
".git/**",
"Cargo.lock",
"oranda.json",
"target/**",
"tests/**/fixtures/**",
"src/uu/dd/test-resources/**",
"vendor/**",
"**/*.svg",
"src/uu/*/locales/*.ftl",
"src/uudiff/locales/*.ftl",
".devcontainer/**",
"util/gnu-patches/**",
"docs/src/release-notes/**",
"src/uu/*/benches/*.rs",
"src/uudiff/src/lib/features/benchmark.rs",
"util/check-safe-traversal.sh",
],
"enableGlobDot": true,
// words to ignore (even if they are in the flagWords)
"ignoreWords": [],
// words to always consider correct
"words": []
}
80 changes: 80 additions & 0 deletions .vscode/cspell.dictionaries/acronyms+names.wordlist.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# * diffutils project


# *** the following part is a copy of coreutils ***
# * abbreviations / acronyms
aarch
AIX
ASLR # address space layout randomization
AST # abstract syntax tree
CATN # busybox cat -n feature flag
CATV # busybox cat -v feature flag
CICD # continuous integration/deployment
CPU
CPUs
DevOps
Ext3
FIFO
FIFOs
flac
FQDN # fully qualified domain name
GID # group ID
GIDs
GNU
GNUEABI
GNUEABIhf
impls
JFS
loongarch
lzma
MSRV # minimum supported rust version
MSVC
NixOS
POSIX
POSIXLY
ReiserFS
RISC
RISCV
RNG # random number generator
RNGs
Solaris
TOCTOU # time-of-check time-of-use
UID # user ID
UIDs
UUID # universally unique identifier
WASI
WASM
XFS

# * names
BusyBox
BusyTest
Codacy
Cygwin
Deno
EditorConfig
EPEL
FreeBSD
genric
Gmail
Illumos
Irix
libfuzzer
MacOS
MinGW
Minix
MS-DOS
MSDOS
NetBSD
Novell
Nushell
OpenBSD
PowerPC
SELinux
SkyPack
SysV
Xenix
Yargs

# Product
codspeed
Loading
Loading