Skip to content

Commit 7217b68

Browse files
authored
Merge branch 'main' into timeout-bench-only-clean
2 parents c5916df + e406cef commit 7217b68

275 files changed

Lines changed: 10697 additions & 6162 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/CICD.yml

Lines changed: 28 additions & 513 deletions
Large diffs are not rendered by default.

.github/workflows/FixPR.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: FixPR
22

3-
# spell-checker:ignore Swatinem dtolnay dedupe
3+
# spell-checker:ignore dedupe
44

55
# Trigger automated fixes for PRs being merged (with associated commits)
66

@@ -69,7 +69,7 @@ jobs:
6969
## * using the 'stable' toolchain is necessary to avoid "unexpected '--filter-platform'" errors
7070
cargo +stable tree --locked --no-dedupe -e=no-dev --prefix=none --features ${{ matrix.job.features }} | grep -vE "$PWD" | sort --unique
7171
- name: Commit any changes (to '${{ env.BRANCH_TARGET }}')
72-
uses: EndBug/add-and-commit@v9
72+
uses: EndBug/add-and-commit@v10
7373
with:
7474
new_branch: ${{ env.BRANCH_TARGET }}
7575
default_author: github_actions

.github/workflows/GnuTests.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
name: GnuTests
22

3-
# spell-checker:ignore (abbrev/names) CodeCov gnulib GnuTests Swatinem
3+
# spell-checker:ignore (abbrev/names) CodeCov gnulib GnuTests
44
# spell-checker:ignore (jargon) submodules devel
5-
# spell-checker:ignore (libs/utils) chksum dpkg getenforce getlimits gperf lcov libexpect limactl pyinotify setenforce shopt valgrind libattr libcap taiki-e zstd cpio
5+
# spell-checker:ignore (libs/utils) chksum dpkg getenforce gperf lcov libexpect limactl pyinotify setenforce shopt valgrind libattr libcap taiki-e zstd cpio
66
# spell-checker:ignore (options) Ccodegen Coverflow Cpanic Zpanic
7-
# spell-checker:ignore (people) Dawid Dziurla * dawidd dtolnay
7+
# spell-checker:ignore (people) Dawid Dziurla * dawidd
88
# spell-checker:ignore (vars) FILESET SUBDIRS XPASS
99
# spell-checker:ignore userns nodocs
1010

@@ -354,7 +354,7 @@ jobs:
354354
path: 'uutils'
355355
persist-credentials: false
356356
- name: Retrieve reference artifacts
357-
uses: dawidd6/action-download-artifact@v16
357+
uses: dawidd6/action-download-artifact@v20
358358
# ref: <https://github.com/dawidd6/action-download-artifact>
359359
continue-on-error: true ## don't break the build for missing reference artifacts (may be expired or just not generated yet)
360360
with:

.github/workflows/android.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Android
22

3-
# spell-checker:ignore (people) reactivecircus Swatinem dtolnay juliangruber
3+
# spell-checker:ignore (people) reactivecircus juliangruber
44
# spell-checker:ignore (shell/tools) TERMUX nextest udevadm pkill
55
# spell-checker:ignore (misc) swiftshader playstore DATALOSS noaudio
66

@@ -111,7 +111,7 @@ jobs:
111111
~/.android/avd/*/*.lock
112112
- name: Create and cache emulator image
113113
if: steps.avd-cache.outputs.cache-hit != 'true'
114-
uses: reactivecircus/android-emulator-runner@v2.35.0
114+
uses: reactivecircus/android-emulator-runner@v2.37.0
115115
with:
116116
api-level: ${{ matrix.api-level }}
117117
target: ${{ matrix.target }}
@@ -156,7 +156,7 @@ jobs:
156156
free -mh
157157
df -Th
158158
- name: Build and Test
159-
uses: reactivecircus/android-emulator-runner@v2.35.0
159+
uses: reactivecircus/android-emulator-runner@v2.37.0
160160
with:
161161
api-level: ${{ matrix.api-level }}
162162
target: ${{ matrix.target }}

.github/workflows/benchmarks.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Benchmarks
22

3-
# spell-checker:ignore (people) dtolnay Swatinem taiki-e
3+
# spell-checker:ignore (people) taiki-e
44
# spell-checker:ignore (misc) codspeed sccache
55

66
on:
@@ -30,6 +30,7 @@ jobs:
3030
uu_base64,
3131
uu_cksum,
3232
uu_cp,
33+
uu_cat,
3334
uu_cut,
3435
uu_dd,
3536
uu_df,
@@ -54,7 +55,9 @@ jobs:
5455
uu_wc,
5556
uu_factor,
5657
uu_date,
57-
uu_csplit
58+
uu_csplit,
59+
uu_true,
60+
uu_false
5861
]
5962
steps:
6063
- uses: actions/checkout@v6

.github/workflows/code-quality.yml

Lines changed: 18 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Code Quality
22

3-
# spell-checker:ignore (people) dtolnay juliangruber pell reactivecircus Swatinem taiki-e taplo
3+
# spell-checker:ignore (people) juliangruber pell reactivecircus taiki-e taplo
44
# spell-checker:ignore (misc) TERMUX noaudio pkill swiftshader esac sccache pcoreutils shopt subshell dequote libsystemd
55

66
on:
@@ -10,6 +10,7 @@ on:
1010
- '*'
1111

1212
env:
13+
CARGO_INCREMENTAL: "0"
1314
# * style job configuration
1415
STYLE_FAIL_ON_FAULT: true ## (bool) fail the build if a style job contains a fault (error or warning); may be overridden on a per-job basis
1516

@@ -66,15 +67,14 @@ jobs:
6667
style_lint:
6768
name: Style/lint
6869
runs-on: ${{ matrix.job.os }}
69-
env:
70-
CARGO_INCREMENTAL: 0
7170
strategy:
7271
fail-fast: false
7372
matrix:
7473
job:
7574
- { os: ubuntu-latest , features: all , workspace: true }
76-
- { os: macos-latest , features: feat_os_macos }
75+
- { os: macos-latest , features: feat_os_unix }
7776
- { os: windows-latest , features: feat_os_windows }
77+
- { os: ubuntu-latest , features: feat_wasm , target: wasm32-wasip1 }
7878
steps:
7979
- uses: actions/checkout@v6
8080
with:
@@ -83,6 +83,7 @@ jobs:
8383
with:
8484
toolchain: stable
8585
components: clippy
86+
targets: ${{ matrix.job.target || '' }}
8687
- uses: Swatinem/rust-cache@v2
8788
- name: Run sccache-cache
8889
id: sccache-setup
@@ -106,6 +107,7 @@ jobs:
106107
esac;
107108
outputs FAIL_ON_FAULT FAULT_TYPE
108109
- name: Install/setup prerequisites
110+
if: ${{ ! matrix.job.target }}
109111
shell: bash
110112
run: |
111113
## Install/setup prerequisites
@@ -117,39 +119,28 @@ jobs:
117119
;;
118120
esac
119121
- name: "`cargo clippy` lint testing"
120-
uses: nick-fields/retry@v3
122+
uses: nick-fields/retry@v4
121123
with:
122124
max_attempts: 3
123125
retry_on: error
124126
timeout_minutes: 90
125127
shell: bash
126128
command: |
127129
## `cargo clippy` lint testing
128-
unset fault
129-
fault_type="${{ steps.vars.outputs.FAULT_TYPE }}"
130-
fault_prefix=$(echo "$fault_type" | tr '[:lower:]' '[:upper:]')
131-
# * convert any warnings to GHA UI annotations; ref: <https://help.github.com/en/actions/reference/workflow-commands-for-github-actions#setting-a-warning-message>
132-
if [[ "${{ matrix.job.features }}" == "all" ]]; then
133-
extra="--all-features"
134-
else
135-
extra="--features ${{ matrix.job.features }}"
130+
ARGS="--features ${{ matrix.job.features }}"
131+
ARGS="${ARGS} --fault-type ${{ steps.vars.outputs.FAULT_TYPE }}"
132+
if [[ "${{ matrix.job.workspace }}" =~ ^(1|t|true|y|yes)$ ]]; then
133+
ARGS="${ARGS} --workspace"
136134
fi
137-
case '${{ matrix.job.workspace }}' in
138-
1|t|true|y|yes)
139-
extra="${extra} --workspace"
140-
;;
141-
esac
142-
# * determine sub-crate utility list (similar to FreeBSD workflow)
143-
if [[ "${{ matrix.job.features }}" == "all" ]]; then
144-
UTILITY_LIST="$(./util/show-utils.sh --all-features)"
145-
else
146-
UTILITY_LIST="$(./util/show-utils.sh --features ${{ matrix.job.features }})"
135+
if [[ -n "${{ matrix.job.target }}" ]]; then
136+
ARGS="${ARGS} --target ${{ matrix.job.target }}"
147137
fi
148-
CARGO_UTILITY_LIST_OPTIONS="$(for u in ${UTILITY_LIST}; do echo -n "-puu_${u} "; done;)"
149-
S=$(cargo clippy --all-targets $extra --tests --benches -pcoreutils ${CARGO_UTILITY_LIST_OPTIONS} -- -D warnings 2>&1) && printf "%s\n" "$S" || { printf "%s\n" "$S" ; printf "%s" "$S" | sed -E -n -e '/^error:/{' -e "N; s/^error:[[:space:]]+(.*)\\n[[:space:]]+-->[[:space:]]+(.*):([0-9]+):([0-9]+).*$/::${fault_type} file=\2,line=\3,col=\4::${fault_prefix}: \`cargo clippy\`: \1 (file:'\2', line:\3)/p;" -e '}' ; fault=true ; }
150-
if [ -n "${{ steps.vars.outputs.FAIL_ON_FAULT }}" ] && [ -n "$fault" ]; then exit 1 ; fi
138+
if [[ -n "${{ steps.vars.outputs.FAIL_ON_FAULT }}" ]]; then
139+
ARGS="${ARGS} --fail-on-fault"
140+
fi
141+
python3 util/run-clippy.py ${ARGS}
151142
- name: "cargo clippy on fuzz dir"
152-
if: runner.os != 'Windows'
143+
if: runner.os != 'Windows' && !matrix.job.target
153144
shell: bash
154145
run: |
155146
cd fuzz

.github/workflows/documentation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# spell-checker:ignore dtolnay libsystemd libattr libcap gsub
1+
# spell-checker:ignore libsystemd libattr libcap gsub
22

33
name: Check uudoc Documentation Generation
44

.github/workflows/freebsd.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: FreeBSD
22

3-
# spell-checker:ignore sshfs usesh vmactions taiki Swatinem esac fdescfs fdesc nextest copyback logind
3+
# spell-checker:ignore sshfs usesh vmactions taiki esac fdescfs fdesc nextest copyback logind
44

55
env:
66
# * style job configuration
@@ -41,7 +41,7 @@ jobs:
4141
sync: rsync
4242
copyback: false
4343
# We need jq and GNU coreutils to run show-utils.sh and bash to use inline shell string replacement
44-
prepare: pkg install -y curl sudo jq coreutils bash
44+
prepare: pkg install -y curl sudo jq coreutils bash python3
4545
run: |
4646
## Prepare, build, and test
4747
# implementation modelled after ref: <https://github.com/rust-lang/rustup/pull/2783>
@@ -73,7 +73,6 @@ jobs:
7373
FAULT_PREFIX=\$(echo "\${FAULT_TYPE}" | tr '[:lower:]' '[:upper:]')
7474
# * determine sub-crate utility list
7575
UTILITY_LIST="\$(./util/show-utils.sh --features ${{ matrix.job.features }})"
76-
CARGO_UTILITY_LIST_OPTIONS="\$(for u in \${UTILITY_LIST}; do echo -n "-puu_\${u} "; done;)"
7776
## Info
7877
# environment
7978
echo "## environment"
@@ -101,8 +100,9 @@ jobs:
101100
## cargo clippy lint testing
102101
if [ -z "\${FAULT}" ]; then
103102
echo "## cargo clippy lint testing"
104-
# * convert any warnings to GHA UI annotations; ref: <https://help.github.com/en/actions/reference/workflow-commands-for-github-actions#setting-a-warning-message>
105-
S=\$(cargo clippy --all-targets \${CARGO_UTILITY_LIST_OPTIONS} -- -D warnings 2>&1) && printf "%s\n" "\$S" || { printf "%s\n" "\$S" ; printf "%s" "\$S" | sed -E -n -e '/^error:/{' -e "N; s/^error:[[:space:]]+(.*)\\n[[:space:]]+-->[[:space:]]+(.*):([0-9]+):([0-9]+).*\$/::\${FAULT_TYPE} file=\2,line=\3,col=\4::\${FAULT_PREFIX}: \\\`cargo clippy\\\`: \1 (file:'\2', line:\3)/p;" -e '}' ; FAULT=true ; }
103+
CLIPPY_ARGS="--features ${{ matrix.job.features }} --fault-type \${FAULT_TYPE}"
104+
if [ -n "\${FAIL_ON_FAULT}" ]; then CLIPPY_ARGS="\${CLIPPY_ARGS} --fail-on-fault"; fi
105+
python3 util/run-clippy.py \${CLIPPY_ARGS} || FAULT=true
106106
fi
107107
# Clean to avoid to rsync back the files
108108
cargo clean

.github/workflows/fuzzing.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
name: Fuzzing
22

3-
# spell-checker:ignore (people) dtolnay Swatinem taiki-e
3+
# spell-checker:ignore (people) taiki-e
44
# spell-checker:ignore (misc) fuzzer
55

6+
env:
7+
CARGO_INCREMENTAL: "0"
8+
69
on:
710
pull_request:
811
push:
@@ -20,8 +23,6 @@ concurrency:
2023
jobs:
2124
uufuzz-examples:
2225
name: Build and test uufuzz examples
23-
env:
24-
CARGO_INCREMENTAL: 0
2526
runs-on: ubuntu-latest
2627
steps:
2728
- uses: actions/checkout@v6
@@ -75,7 +76,6 @@ jobs:
7576
timeout-minutes: 5
7677
env:
7778
RUN_FOR: 60
78-
CARGO_INCREMENTAL: 0
7979
strategy:
8080
matrix:
8181
test-target:

.github/workflows/ignore-intermittent.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
tests/cut/bounded-memory
22
tests/date/date-locale-hour
33
tests/date/resolution
4+
tests/expand/bounded-memory
45
tests/pr/bounded-memory
56
tests/tail/inotify-dir-recreate
67
tests/tail/overlay-headers
@@ -13,3 +14,4 @@ tests/misc/stdbuf
1314
tests/misc/usage_vs_getopt
1415
tests/misc/tee
1516
tests/tail/follow-name
17+
tests/rm/isatty

0 commit comments

Comments
 (0)