fix: Fix segmentation fault in tests on CPUs with PKU support #1826
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ci | |
on: [push, pull_request] | |
jobs: | |
rust: | |
name: deno_core-${{ matrix.os }} | |
if: | | |
(github.event_name == 'push' || !startsWith(github.event.pull_request.head.label, 'denoland:')) | |
&& github.ref_name != 'deno_core' | |
&& !startsWith(github.ref, 'refs/tags/deno/') | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 30 | |
strategy: | |
matrix: | |
os: [macOS-latest, ubuntu-latest, windows-2019] | |
env: | |
CARGO_INCREMENTAL: 0 | |
GH_ACTIONS: 1 | |
RUST_BACKTRACE: full | |
RUSTFLAGS: -D warnings | |
steps: | |
- name: Clone repository | |
uses: actions/checkout@v3 | |
- name: Install Rust | |
uses: dsherret/rust-toolchain-file@v1 | |
- name: Install Rust (nightly) | |
if: contains(matrix.os, 'ubuntu') | |
uses: dtolnay/rust-toolchain@nightly | |
- name: Install Deno | |
uses: denoland/setup-deno@v1 | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
prefix-key: "v1-rust" | |
save-if: ${{ github.ref == 'refs/heads/main' }} | |
- name: Clean | |
if: github.ref == 'refs/heads/main' | |
run: cargo clean | |
- name: Format | |
if: contains(matrix.os, 'ubuntu') | |
run: | | |
cargo fmt -- --check | |
deno fmt --check ./core/ ./ops/ ./serde_v8/ | |
- name: Lint | |
if: contains(matrix.os, 'ubuntu') | |
run: | | |
cargo clippy --locked --release --all-features --all-targets -- -D clippy::all | |
deno lint | |
tools/copyright_checker.js | |
- name: Lint deps | |
if: contains(matrix.os, 'ubuntu') | |
run: | | |
cargo install cargo-machete --locked | |
cargo machete | |
cargo install cargo-udeps --locked | |
cargo +nightly udeps | |
- name: Cargo test | |
run: cargo test --locked --release --all-features --bins --tests --examples && cargo test --doc | |
- name: Cargo test (miri) | |
if: contains(matrix.os, 'ubuntu') | |
run: | | |
# Install and run miri tests | |
rustup component add --toolchain nightly miri | |
# This somehow prints errors in CI that don't show up locally | |
MIRIFLAGS="-Zmiri-disable-isolation" RUSTFLAGS=-Awarnings cargo +nightly miri test -p deno_core | |
- name: Run examples | |
# Only regression tests here for now. | |
# Regression test for https://github.com/denoland/deno/pull/19615. | |
run: |- | |
cargo run -p deno_core --example op2 | |
cargo run -p deno_core --example op2 --features include_js_files_for_snapshotting | |
- name: Cargo publish | |
if: | | |
contains(matrix.os, 'ubuntu') && | |
github.repository == 'denoland/deno_core' && | |
startsWith(github.ref, 'refs/tags/') | |
env: | |
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} | |
run: cargo publish -p serde_v8 && cargo publish -p deno_ops && cargo publish -p deno_core | |
- name: Get tag version | |
if: contains(matrix.os, 'ubuntu') && startsWith(github.ref, 'refs/tags/') | |
id: get_tag_version | |
run: echo TAG_VERSION=${GITHUB_REF/refs\/tags\//} >> "$GITHUB_OUTPUT" | |