Skip to content

Commit 15ca0c3

Browse files
committed
Fixed panic in who > /dev/full
1 parent fafa775 commit 15ca0c3

539 files changed

Lines changed: 19931 additions & 8545 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.

.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: 102 additions & 536 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: 25 additions & 43 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

@@ -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@v20
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: 4 additions & 4 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 }}
@@ -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: 20 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) taiki-e
4+
# spell-checker:ignore (misc) codspeed sccache
45

56
on:
67
pull_request:
@@ -21,22 +22,22 @@ 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]
3029
package: [
3130
uu_base64,
3231
uu_cksum,
3332
uu_cp,
33+
uu_cat,
3434
uu_cut,
3535
uu_dd,
3636
uu_df,
3737
uu_du,
3838
uu_expand,
3939
uu_fold,
40+
uu_hostname,
4041
uu_join,
4142
uu_ls,
4243
uu_mv,
@@ -47,12 +48,16 @@ jobs:
4748
uu_shuf,
4849
uu_sort,
4950
uu_split,
51+
uu_timeout,
5052
uu_tsort,
5153
uu_unexpand,
5254
uu_uniq,
5355
uu_wc,
5456
uu_factor,
55-
uu_date
57+
uu_date,
58+
uu_csplit,
59+
uu_true,
60+
uu_false
5661
]
5762
steps:
5863
- uses: actions/checkout@v6
@@ -64,19 +69,25 @@ jobs:
6469
- uses: Swatinem/rust-cache@v2
6570

6671
- name: Run sccache-cache
72+
id: sccache-setup
6773
uses: mozilla-actions/sccache-action@v0.0.9
74+
continue-on-error: true
75+
- name: Export sccache
76+
if: steps.sccache-setup.outcome == 'success'
77+
run: |
78+
echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV
79+
echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV
6880
6981
- name: Install locales
7082
shell: bash
7183
run: |
72-
sudo apt-get update
73-
sudo apt-get install -y locales
7484
sudo locale-gen fr_FR.UTF-8
7585
sudo update-locale
7686
77-
- name: Install cargo-codspeed
78-
shell: bash
79-
run: cargo install cargo-codspeed --locked
87+
- name: Install tools
88+
uses: taiki-e/install-action@v2
89+
with:
90+
tool: cargo-codspeed
8091

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

0 commit comments

Comments
 (0)