Skip to content

Commit c6ffbb8

Browse files
authored
Merge branch 'main' into rm_fix
2 parents 70a60dc + 995c6dc commit c6ffbb8

File tree

339 files changed

+6819
-2245
lines changed

Some content is hidden

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

339 files changed

+6819
-2245
lines changed

.cargo/config.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ linker = "x86_64-unknown-redox-gcc"
88
linker = "aarch64-linux-gnu-gcc"
99
[target.riscv64gc-unknown-linux-musl]
1010
rustflags = ["-C", "target-feature=+crt-static"]
11+
[target.'cfg(target_env = "msvc")']
12+
rustflags = ["-C", "target-feature=+crt-static"]
1113

1214
[env]
1315
# See feat_external_libstdbuf in src/uu/stdbuf/Cargo.toml

.github/workflows/CICD.yml

Lines changed: 114 additions & 63 deletions
Large diffs are not rendered by default.

.github/workflows/GnuTests.yml

Lines changed: 22 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
name: Run GNU tests (native)
3939
runs-on: ubuntu-24.04
4040
steps:
41-
#### Get the code, setup cache
41+
#### Get the code
4242
- name: Checkout code (uutils)
4343
uses: actions/checkout@v6
4444
with:
@@ -49,15 +49,6 @@ jobs:
4949
workspaces: "./uutils -> target"
5050
- name: Checkout code (GNU coreutils)
5151
run: (mkdir -p gnu && cd gnu && bash ../uutils/util/fetch-gnu.sh)
52-
- name: Restore files for faster configure and skipping make
53-
uses: actions/cache@v5
54-
id: cache-config-gnu
55-
with:
56-
path: |
57-
gnu/config.cache
58-
gnu/src/getlimits
59-
key: ${{ runner.os }}-gnu-config-${{ hashFiles('gnu/NEWS') }}-${{ hashFiles('uutils/util/build-gnu.sh') }} # use build-gnu.sh for extremely safe caching
60-
6152
#### Build environment setup
6253
- name: Install dependencies
6354
shell: bash
@@ -102,15 +93,6 @@ jobs:
10293
cd 'uutils'
10394
env PROFILE=release-small bash util/build-gnu.sh
10495
105-
- name: Save files for faster configure and skipping make
106-
uses: actions/cache/save@v5
107-
if: always() && steps.cache-config-gnu.outputs.cache-hit != 'true'
108-
with:
109-
path: |
110-
gnu/config.cache
111-
gnu/src/getlimits
112-
key: ${{ runner.os }}-gnu-config-${{ hashFiles('gnu/NEWS') }}-${{ hashFiles('uutils/util/build-gnu.sh') }}
113-
11496
### Run tests as user
11597
- name: Run GNU tests
11698
shell: bash
@@ -166,17 +148,17 @@ jobs:
166148
167149
### Upload artifacts
168150
- name: Upload full json results
169-
uses: actions/upload-artifact@v6
151+
uses: actions/upload-artifact@v7
170152
with:
171153
name: gnu-full-result
172154
path: ${{ env.TEST_FULL_SUMMARY_FILE }}
173155
- name: Upload root json results
174-
uses: actions/upload-artifact@v6
156+
uses: actions/upload-artifact@v7
175157
with:
176158
name: gnu-root-full-result
177159
path: ${{ env.TEST_ROOT_FULL_SUMMARY_FILE }}
178160
- name: Upload stty json results
179-
uses: actions/upload-artifact@v6
161+
uses: actions/upload-artifact@v7
180162
with:
181163
name: gnu-stty-full-result
182164
path: ${{ env.TEST_STTY_FULL_SUMMARY_FILE }}
@@ -187,7 +169,7 @@ jobs:
187169
# Compress logs before upload (fails otherwise)
188170
gzip gnu/tests/*/*.log
189171
- name: Upload test logs
190-
uses: actions/upload-artifact@v6
172+
uses: actions/upload-artifact@v7
191173
with:
192174
name: test-logs
193175
path: |
@@ -198,7 +180,7 @@ jobs:
198180
name: Run GNU tests (SELinux)
199181
runs-on: ubuntu-24.04
200182
steps:
201-
#### Get the code, setup cache
183+
#### Get the code
202184
- name: Checkout code (uutils)
203185
uses: actions/checkout@v6
204186
with:
@@ -284,12 +266,12 @@ jobs:
284266
# Copy the test directory now
285267
rsync -v -a -e ssh lima-default:~/work/gnu/tests/ ./gnu/tests-selinux/
286268
- name: Upload SELinux json results
287-
uses: actions/upload-artifact@v6
269+
uses: actions/upload-artifact@v7
288270
with:
289271
name: selinux-gnu-full-result
290272
path: ${{ env.TEST_SELINUX_FULL_SUMMARY_FILE }}
291273
- name: Upload SELinux root json results
292-
uses: actions/upload-artifact@v6
274+
uses: actions/upload-artifact@v7
293275
with:
294276
name: selinux-root-gnu-full-result
295277
path: ${{ env.TEST_SELINUX_ROOT_FULL_SUMMARY_FILE }}
@@ -299,7 +281,7 @@ jobs:
299281
# Compress logs before upload (fails otherwise)
300282
gzip gnu/tests-selinux/*/*.log
301283
- name: Upload SELinux test logs
302-
uses: actions/upload-artifact@v6
284+
uses: actions/upload-artifact@v7
303285
with:
304286
name: selinux-test-logs
305287
path: |
@@ -332,14 +314,14 @@ jobs:
332314
run: |
333315
python3 uutils/util/gnu-json-result.py gnu/tests-qemu > ${{ env.TEST_QEMU_FULL_SUMMARY_FILE }}
334316
- name: Upload SMACK/ROOTFS json results
335-
uses: actions/upload-artifact@v6
317+
uses: actions/upload-artifact@v7
336318
with:
337319
name: qemu-gnu-full-result
338320
path: ${{ env.TEST_QEMU_FULL_SUMMARY_FILE }}
339321
- name: Compress SMACK/ROOTFS test logs
340322
run: gzip gnu/tests-qemu/*/*.log 2>/dev/null || true
341323
- name: Upload SMACK/ROOTFS test logs
342-
uses: actions/upload-artifact@v6
324+
uses: actions/upload-artifact@v7
343325
with:
344326
name: qemu-test-logs
345327
path: |
@@ -372,7 +354,7 @@ jobs:
372354
path: 'uutils'
373355
persist-credentials: false
374356
- name: Retrieve reference artifacts
375-
uses: dawidd6/action-download-artifact@v14
357+
uses: dawidd6/action-download-artifact@v16
376358
# ref: <https://github.com/dawidd6/action-download-artifact>
377359
continue-on-error: true ## don't break the build for missing reference artifacts (may be expired or just not generated yet)
378360
with:
@@ -382,38 +364,38 @@ jobs:
382364
workflow_conclusion: completed ## continually recalibrates to last commit of default branch with a successful GnuTests (ie, "self-heals" from GnuTest regressions, but needs more supervision for/of regressions)
383365
path: "reference"
384366
- name: Download full json results
385-
uses: actions/download-artifact@v7
367+
uses: actions/download-artifact@v8
386368
with:
387369
name: gnu-full-result
388370
path: results
389371
merge-multiple: true
390372
- name: Download root json results
391-
uses: actions/download-artifact@v7
373+
uses: actions/download-artifact@v8
392374
with:
393375
name: gnu-root-full-result
394376
path: results
395377
merge-multiple: true
396378
- name: Download stty json results
397-
uses: actions/download-artifact@v7
379+
uses: actions/download-artifact@v8
398380
with:
399381
name: gnu-stty-full-result
400382
path: results
401383
merge-multiple: true
402384

403385
- name: Download selinux json results
404-
uses: actions/download-artifact@v7
386+
uses: actions/download-artifact@v8
405387
with:
406388
name: selinux-gnu-full-result
407389
path: results
408390
merge-multiple: true
409391
- name: Download selinux root json results
410-
uses: actions/download-artifact@v7
392+
uses: actions/download-artifact@v8
411393
with:
412394
name: selinux-root-gnu-full-result
413395
path: results
414396
merge-multiple: true
415397
- name: Download SMACK/ROOTFS json results
416-
uses: actions/download-artifact@v7
398+
uses: actions/download-artifact@v8
417399
with:
418400
name: qemu-gnu-full-result
419401
path: results
@@ -462,17 +444,17 @@ jobs:
462444
HASH=$(sha1sum '${{ steps.vars.outputs.TEST_SUMMARY_FILE }}' | cut --delim=" " -f 1)
463445
outputs HASH
464446
- name: Upload SHA1/ID of 'test-summary'
465-
uses: actions/upload-artifact@v6
447+
uses: actions/upload-artifact@v7
466448
with:
467449
name: "${{ steps.summary.outputs.HASH }}"
468450
path: "${{ steps.vars.outputs.TEST_SUMMARY_FILE }}"
469451
- name: Upload test results summary
470-
uses: actions/upload-artifact@v6
452+
uses: actions/upload-artifact@v7
471453
with:
472454
name: test-summary
473455
path: "${{ steps.vars.outputs.TEST_SUMMARY_FILE }}"
474456
- name: Upload aggregated json results
475-
uses: actions/upload-artifact@v6
457+
uses: actions/upload-artifact@v7
476458
with:
477459
name: aggregated-result
478460
path: ${{ steps.vars.outputs.AGGREGATED_SUMMARY_FILE }}
@@ -524,7 +506,7 @@ jobs:
524506
fi
525507
- name: Upload comparison log (for GnuComment workflow)
526508
if: success() || failure() # run regardless of prior step success/failure
527-
uses: actions/upload-artifact@v6
509+
uses: actions/upload-artifact@v7
528510
with:
529511
name: comment
530512
path: reference/comment/

.github/workflows/android.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ jobs:
190190
key: ${{ matrix.arch }}_${{ matrix.target}}_${{ steps.read_rustc_hash.outputs.content }}_${{ hashFiles('**/Cargo.toml', '**/Cargo.lock') }}_v3
191191
- name: archive any output (error screenshots)
192192
if: always()
193-
uses: actions/upload-artifact@v6
193+
uses: actions/upload-artifact@v7
194194
with:
195195
name: test_output_${{ env.AVD_CACHE_KEY }}
196196
path: output

.github/workflows/benchmarks.yml

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

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

56
on:
67
pull_request:
@@ -21,9 +22,7 @@ jobs:
2122
name: Run ${{ matrix.type }} benchmarks for ${{ matrix.package }} (CodSpeed)
2223
runs-on: ubuntu-latest
2324
env:
24-
RUSTC_WRAPPER: sccache
2525
CARGO_INCREMENTAL: 0
26-
SCCACHE_GHA_ENABLED: "true"
2726
strategy:
2827
matrix:
2928
type: [simulation, memory]
@@ -37,6 +36,7 @@ jobs:
3736
uu_du,
3837
uu_expand,
3938
uu_fold,
39+
uu_hostname,
4040
uu_join,
4141
uu_ls,
4242
uu_mv,
@@ -52,7 +52,8 @@ jobs:
5252
uu_uniq,
5353
uu_wc,
5454
uu_factor,
55-
uu_date
55+
uu_date,
56+
uu_csplit
5657
]
5758
steps:
5859
- uses: actions/checkout@v6
@@ -64,19 +65,25 @@ jobs:
6465
- uses: Swatinem/rust-cache@v2
6566

6667
- name: Run sccache-cache
68+
id: sccache-setup
6769
uses: mozilla-actions/sccache-action@v0.0.9
70+
continue-on-error: true
71+
- name: Export sccache
72+
if: steps.sccache-setup.outcome == 'success'
73+
run: |
74+
echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV
75+
echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV
6876
6977
- name: Install locales
7078
shell: bash
7179
run: |
72-
sudo apt-get update
73-
sudo apt-get install -y locales
7480
sudo locale-gen fr_FR.UTF-8
7581
sudo update-locale
7682
77-
- name: Install cargo-codspeed
78-
shell: bash
79-
run: cargo install cargo-codspeed --locked
83+
- name: Install tools
84+
uses: taiki-e/install-action@v2
85+
with:
86+
tool: cargo-codspeed
8087

8188
- name: Build benchmarks for ${{ matrix.package }} (${{ matrix.type }})
8289
shell: bash

.github/workflows/code-quality.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,6 @@ jobs:
3535
- uses: actions/checkout@v6
3636
with:
3737
persist-credentials: false
38-
- uses: dtolnay/rust-toolchain@master
39-
with:
40-
toolchain: stable
41-
components: rustfmt
42-
- uses: Swatinem/rust-cache@v2
4338
- name: Initialize workflow variables
4439
id: vars
4540
shell: bash
@@ -72,8 +67,6 @@ jobs:
7267
name: Style/lint
7368
runs-on: ${{ matrix.job.os }}
7469
env:
75-
SCCACHE_GHA_ENABLED: "true"
76-
RUSTC_WRAPPER: "sccache"
7770
CARGO_INCREMENTAL: 0
7871
strategy:
7972
fail-fast: false
@@ -92,7 +85,14 @@ jobs:
9285
components: clippy
9386
- uses: Swatinem/rust-cache@v2
9487
- name: Run sccache-cache
88+
id: sccache-setup
9589
uses: mozilla-actions/sccache-action@v0.0.9
90+
continue-on-error: true
91+
- name: Export sccache
92+
if: steps.sccache-setup.outcome == 'success'
93+
run: |
94+
echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV
95+
echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV
9696
- name: Initialize workflow variables
9797
id: vars
9898
shell: bash

.github/workflows/fuzzing.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ jobs:
189189
190190
echo "" >> $GITHUB_STEP_SUMMARY
191191
- name: Upload Stats
192-
uses: actions/upload-artifact@v6
192+
uses: actions/upload-artifact@v7
193193
with:
194194
name: fuzz-stats-${{ matrix.test-target.name }}
195195
path: |
@@ -206,7 +206,7 @@ jobs:
206206
with:
207207
persist-credentials: false
208208
- name: Download all stats
209-
uses: actions/download-artifact@v7
209+
uses: actions/download-artifact@v8
210210
with:
211211
path: fuzz/stats-artifacts
212212
pattern: fuzz-stats-*
@@ -300,7 +300,7 @@ jobs:
300300
run: |
301301
cat fuzzing_summary.md
302302
- name: Upload Summary
303-
uses: actions/upload-artifact@v6
303+
uses: actions/upload-artifact@v7
304304
with:
305305
name: fuzzing-summary
306306
path: fuzzing_summary.md

.github/workflows/ignore-intermittent.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1+
tests/cut/bounded-memory
2+
tests/date/date-locale-hour
3+
tests/date/resolution
4+
tests/pr/bounded-memory
15
tests/tail/inotify-dir-recreate
26
tests/tail/overlay-headers
37
tests/timeout/timeout
4-
tests/rm/rm1
8+
tests/tail/symlink
59
tests/shuf/shuf-reservoir
610
tests/sort/sort-stale-thread-mem
711
tests/tty/tty-eof

0 commit comments

Comments
 (0)