Merge pull request #3312 from Skgland/big-endian-miri
run miri for a big-endian target
This commit is contained in:
11
.github/actions/setup-rust/action.yml
vendored
11
.github/actions/setup-rust/action.yml
vendored
@@ -1,4 +1,7 @@
|
|||||||
name: 'Setup Rust'
|
name: 'Setup Rust'
|
||||||
|
description: |
|
||||||
|
Setup the rust toolchain and environment for the selected toolchain
|
||||||
|
|
||||||
inputs:
|
inputs:
|
||||||
rust-version:
|
rust-version:
|
||||||
required: true
|
required: true
|
||||||
@@ -33,6 +36,14 @@ runs:
|
|||||||
echo "CC=clang" >> $GITHUB_ENV
|
echo "CC=clang" >> $GITHUB_ENV
|
||||||
echo "PKG_CONFIG_SYSROOT_DIR=/" >> $GITHUB_ENV
|
echo "PKG_CONFIG_SYSROOT_DIR=/" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Install s390x cross-compilation toolchain
|
||||||
|
if: ${{ matrix.target == 's390x-unknown-linux-gnu' }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y gcc-s390x-linux-gnu
|
||||||
|
echo "CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_LINKER=s390x-linux-gnu-gcc" >> $GITHUB_ENV
|
||||||
|
|
||||||
- uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
|
- uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
|
||||||
with:
|
with:
|
||||||
path: |
|
path: |
|
||||||
|
|||||||
6
.github/workflows/ci.yml
vendored
6
.github/workflows/ci.yml
vendored
@@ -64,15 +64,19 @@ jobs:
|
|||||||
- { os: ubuntu-22.04, rust-version: "${{ needs.read-msrv.outputs.msrv }}" , target: 'x86_64-unknown-linux-gnu' }
|
- { os: ubuntu-22.04, rust-version: "${{ needs.read-msrv.outputs.msrv }}" , target: 'x86_64-unknown-linux-gnu' }
|
||||||
- { os: ubuntu-22.04, rust-version: beta, target: 'x86_64-unknown-linux-gnu' }
|
- { os: ubuntu-22.04, rust-version: beta, target: 'x86_64-unknown-linux-gnu' }
|
||||||
- { os: ubuntu-22.04, rust-version: nightly, target: 'x86_64-unknown-linux-gnu', miri: true, components: "miri" }
|
- { os: ubuntu-22.04, rust-version: nightly, target: 'x86_64-unknown-linux-gnu', miri: true, components: "miri" }
|
||||||
|
# run miri for a big-endian target, with all features that are simple to get cross-compiled
|
||||||
|
- { os: ubuntu-22.04, rust-version: nightly, target: 's390x-unknown-linux-gnu', miri: true, components: "miri", args: '--no-default-features --features=all-simple-cross', test-args: '--no-run --no-default-features --features=all-simple-cross' }
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
|
|
||||||
- uses: actionhippie/swap-space@0cffa893f224708cfb6b011690d8ba819d69c10f # v1.1.0
|
- uses: actionhippie/swap-space@0cffa893f224708cfb6b011690d8ba819d69c10f # v1.1.0
|
||||||
if: matrix.use_swap
|
if: matrix.use_swap
|
||||||
with:
|
with:
|
||||||
size: 10G
|
size: 10G
|
||||||
|
|
||||||
- name: Setup Rust
|
- name: Setup Rust
|
||||||
uses: ./.github/actions/setup-rust
|
uses: ./.github/actions/setup-rust
|
||||||
with:
|
with:
|
||||||
@@ -89,7 +93,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Check miri
|
- name: Check miri
|
||||||
if: matrix.miri
|
if: matrix.miri
|
||||||
run: cargo miri test
|
run: cargo miri test --target ${{ matrix.target }} ${{ matrix.args }}
|
||||||
|
|
||||||
# On stable rust builds, build a binary and publish as a github actions
|
# On stable rust builds, build a binary and publish as a github actions
|
||||||
# artifact. These binaries could be useful for testing the pipeline but
|
# artifact. These binaries could be useful for testing the pipeline but
|
||||||
|
|||||||
@@ -18,6 +18,9 @@ crate-type = ["cdylib", "rlib"]
|
|||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["ffi", "repl", "hostname", "tls", "http", "crypto-full"]
|
default = ["ffi", "repl", "hostname", "tls", "http", "crypto-full"]
|
||||||
|
# enables all features that are simple to get working for cross-compliation
|
||||||
|
# currently all but tls, http as those depend on openssl
|
||||||
|
all-simple-cross = ["ffi", "repl", "hostname", "crypto-full"]
|
||||||
ffi = ["dep:libffi"]
|
ffi = ["dep:libffi"]
|
||||||
repl = ["dep:crossterm", "dep:ctrlc", "dep:rustyline"]
|
repl = ["dep:crossterm", "dep:ctrlc", "dep:rustyline"]
|
||||||
hostname = ["dep:hostname"]
|
hostname = ["dep:hostname"]
|
||||||
|
|||||||
Reference in New Issue
Block a user