diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml index 07db5a58143..356e43d08cb 100644 --- a/.github/workflows/CICD.yml +++ b/.github/workflows/CICD.yml @@ -629,7 +629,7 @@ jobs: - { os: ubuntu-latest , target: x86_64-unknown-linux-gnu , features: "feat_os_unix,uudoc" , use-cross: no, workspace-tests: true } - { os: ubuntu-latest , target: x86_64-unknown-linux-musl , features: feat_os_unix_musl , use-cross: use-cross } - { os: ubuntu-latest , target: x86_64-unknown-redox , features: feat_os_unix_redox , use-cross: redoxer , skip-tests: true , check-only: true } - - { os: ubuntu-latest , target: wasm32-wasip1, default-features: false, features: "basenc,cksum", skip-tests: true } + - { os: ubuntu-latest , target: wasm32-wasip1, default-features: false, features: feat_wasm, skip-tests: true } - { os: macos-latest , target: aarch64-apple-darwin , features: feat_os_macos, workspace-tests: true } # M1 CPU # PR #7964: chcon should not break build without the feature. cargo check is enough to detect it. - { os: macos-latest , target: aarch64-apple-darwin , workspace-tests: true, check-only: true } # M1 CPU diff --git a/.vscode/cspell.dictionaries/workspace.wordlist.txt b/.vscode/cspell.dictionaries/workspace.wordlist.txt index 30d2bd3e04b..1d3929832a2 100644 --- a/.vscode/cspell.dictionaries/workspace.wordlist.txt +++ b/.vscode/cspell.dictionaries/workspace.wordlist.txt @@ -365,6 +365,8 @@ getcwd # * other weblate algs +wasm +wasip # * stty terminal flags brkint diff --git a/Cargo.toml b/Cargo.toml index 36ceb719f03..1bafdf3ef5a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -168,6 +168,61 @@ feat_Tier1 = [ "whoami", ] ## (primary platforms) feature sets +# "feat_wasm" == set of utilities which can be built for wasm target +# We don't need to support all of wasm targets. So the ambiguous name is used at here +# It is bit complex to deduplicate with other lists +feat_wasm = [ + "basename", + "base32", + "base64", + "basenc", + "cut", + "date", + "dircolors", + "dirname", + "echo", + "expand", + "factor", + "false", + "fmt", + "fold", + "join", + "link", + "nl", + "numfmt", + "od", + "paste", + "pr", + "printenv", + "printf", + "ptx", + "pwd", + "seq", + "shred", + "shuf", + "sleep", + "sum", + "tee", + "true", + "truncate", + "unexpand", + "uniq", + "unlink", + "wc", + "yes", + # cksum family + "cksum", + "b2sum", + "md5sum", + "sha1sum", + "sha224sum", + "sha256sum", + "sha384sum", + "sha512sum", + # useless? + "arch", + "uname", +] # "feat_os_macos" == set of utilities which can be built/run on the MacOS platform feat_os_macos = [ "feat_os_unix", ## == a modern/usual *nix platform diff --git a/docs/src/platforms.md b/docs/src/platforms.md index 12f08d709a6..3bf70b52a42 100644 --- a/docs/src/platforms.md +++ b/docs/src/platforms.md @@ -25,13 +25,15 @@ The platforms in tier 1 and the platforms that we test in CI are listed below. | **macOS** | `x86_64-apple-darwin` | | **Windows** | `i686-pc-windows-msvc`
`x86_64-pc-windows-gnu`
`x86_64-pc-windows-msvc` | | **FreeBSD** | `x86_64-unknown-freebsd` | -| **Android** | `i686-linux-android` | +| **OpenBSD** | `x86_64-unknown-openbsd` | +| **Android** | `x86_64-linux-android` | +| **wasm32** | `wasm32-wasip1` | The platforms in tier 2 are more vague, but include: - untested variations of the platforms above, - Redox OS, - - and BSDs such as OpenBSD, NetBSD & DragonFlyBSD. + - and BSDs such as NetBSD & DragonFlyBSD. ## Utility compatibility per platform